Altova MapForce Server 2026 

Este ejemplo muestra cómo ejecutar un archivo de ejecución de asignaciones (.mfx) desde código C#. En Windows, los archivos de ejemplo están disponibles en la siguiente ruta: C:\Archivos de programa\Altova\MapForceServer2026\etc\Examples.

 

Requisitos

MapForce Server está instalado y tiene asignada una licencia válida.

Si crea un proyecto de Visual Studio nuevo, añada una referencia al ensamblado de MapForce Server (véase Interfaz .NET). Puede saltarse este paso si está ejecutando el ejemplo existente de la API de MapForce, ya que el ejemplo ya contiene esa referencia.

En el menú Compilar de Visual Studio, haga clic en Administrador de configuración y escoja la plataforma correcta, por ejemplo Debug | x86  (o Debug | x64, en su caso). No use Any CPU como plataforma.

Si tiene instalada la versión de 64 bits de MapForce Server, la aplicación que llama a la API (como la del ejemplo que aparece más abajo) deberá estar diseñada para la plataforma de 64 bits en Visual Studio. Además, la ruta de acceso del ejecutable de MapForce Server también debe adaptarse según corresponda en el código.

 

La solución de ejemplo está en el directorio "Archivos de programa", que necesita derechos de administrador. Puede ejecutar Visual Studio como administrador o copiar la solución en una carpeta distinta que no necesite derechos de administrador.

 

Ejecutar el código de la asignación

El código siguiente ejecuta tres archivos de ejecución de servidor (.mfx). La tabla siguiente enumera los archivos de entrada que espera cada archivo .mfx, así como la salida que se genera tras la ejecución.

 

Archivo de ejecución (.mfx)

Entrada

Salida

TokenizeString.mfx

AltovaTools.xml

AltovaToolsFeatures.csv

SimpleTotal.mfx

ipo.xml

String

ClassifyTemperatures.mfx

Temperatures.xml

Temperatures_out.xml

 

Si tiene Altova MapForce puede examinar las asignaciones originales a partir de las cuales se crearon los archivos .mfx para entenderlas mejor. Se trata, respectivamente, de TokenizeString1.mfd, SimpleTotal.mfd y ClassifyTemperatures.mfd. Puede encontrar estas asignaciones en el directorio: C:\users\<user>\Altova\MapForce2026\MapForceExamples.

 

El ejemplo siguiente:

Crea una instancia nueva de Altova.MapForceServer.Server, que es el objeto con el que trabajará de ahora en adelante.

Define el directorio de trabajo en el que se lleva a cabo la ejecución. Se espera que los archivos de entrada estén en este directorio si hace referencia a ellos con una ruta relativa. Los archivos de salida también se crean en este directorio (véase la tabla anterior).

Ejecuta TokenizeString.mfx. La ruta de acceso al archivo se da como argumento para el método Run (tenga en cuenta que la ruta es relativa al directorio de trabajo que se definió antes). Si el archivo se ejecuta correctamente, en el directorio de trabajo se crea un archivo .csv que representa el resultado de la asignación.

Ejecuta SimpleTotal.mfx. En este caso la ruta también es relativa al directorio de trabajo. Esta asignación produce una cadena de salida; para obtenerla debe llamar al método GetOutputParameter.

Ejecuta ClassifyTemperatures.mfx. Esta asignación espera un parámetro como entrada; puede indicarlo con el método AddParameter.

 

namespace MapForceServerAPI_sample
{
  class Program
  {
      static void Main(string[] args)
      {
          try
          {
              // Crear un objeto de MapForce Server
              Altova.MapForceServer.Server objMFS = new Altova.MapForceServer.Server();
 
              // Establecer un directorio de trabajo, que se utilizará como base para las rutas relativas (es posible que tenga que adaptar la ruta a la carpeta de instalación)
              objMFS.WorkingDirectory = "..\\..\\..";
 
              // La ruta predeterminada al ejecutable de MapForce Server es la ruta de instalación (el mismo directorio que MapForceServer.dll).
               // En caso de que haya movido los archivos binarios en el disco, debe establecer explícitamente la ruta al archivo .exe.

               // La propiedad ServerPath debe establecerse antes que cualquier otra propiedad, ya que reinicializa el servidor y restablece todas las propiedades.
               // objMFS.ServerPath = "C:\\Program Files (x86)\\Altova\\MapForceServer2020\\bin\\MapForceServer.exe";
               // objMFS.ServerPath = "C:\\Program Files\\Altova\\MapForceServer2020\\bin\\MapForceServer.exe";
 
              System.Console.WriteLine("Running " + objMFS.ProductNameAndVersion + ".\n");
 
              // Establezca el archivo de recursos globales y la configuración, si su asignación utiliza recursos globales.
               // objMFS.SetOption( "globalresourcefile", "GlobalResources.xml" ); // "gr" se puede utilizar como nombre abreviado para "globalresourcefile"
               // objMFS.SetOption( "globalresourceconfig", "Default" ); // "gc" se puede utilizar como nombre abreviado para "globalresourceconfig"
 
               // ----------------------------------------------------------------------------------
               // Un ejemplo con rutas de entrada y salida almacenadas dentro del archivo MFX.
              System.Console.WriteLine("\nExecuting TokenizeString.mfx...");
              if (objMFS.Run("TokenizeString.mfx"))
                  System.Console.WriteLine("Successfully generated file 'AltovaToolFeatures.csv'.");
              else
              {
                  // Error de ejecución. ¿Quizás no hay permisos de escritura en el directorio de trabajo? Ejecute este programa como administrador.
                  System.Console.WriteLine(objMFS.LastExecutionMessage);
              }
 
              // ----------------------------------------------------------------------------------
               // Un ejemplo que crea una salida sencilla para que podamos recuperar el resultado de forma explícita.
              System.Console.WriteLine("\nExecuting SimpleTotal.mfx...");
              if (objMFS.Run("SimpleTotal.mfx"))
                  System.Console.WriteLine("Mapping result is: " + objMFS.GetOutputParameter("total"));
              else
              {
                  // Error de ejecución (por ejemplo, alguien ha eliminado el archivo ipo.xml).)
                  System.Console.WriteLine(objMFS.LastExecutionMessage);
              }
 
              // ----------------------------------------------------------------------------------
               // un ejemplo con entrada parametrizada
               // el valor predeterminado de 'lower = 5' pasa a ser '10'
               // mfx lee el archivo Temperatures.xml y escribe su salida en Temperatures_out.xml.
              System.Console.WriteLine("\nExecuting ClassifyTemperatures.mfx with parameter 'lower' set to '10' ...");
          objMFS.AddParameter("lower", "10");
              if (objMFS.Run("ClassifyTemperatures.mfx"))
                  System.Console.WriteLine("File Temperatures_out.xml has been written successfully.");
              else
              {
                  // Error de ejecución. ¿Quizás no hay permisos de escritura en el directorio de trabajo? Ejecute este programa como administrador.
                  System.Console.WriteLine(objMFS.LastExecutionMessage);
              }
          }
          catch (System.Runtime.InteropServices.COMException ex)
          {
              System.Console.WriteLine("Internal Error - " + ex.Message);
          }
      }
  }
}

 

© 2019-2025 Altova GmbH