Altova MapForce Server 2026 Advanced Edition

L'exemple suivant illustre comment exécuter un fichier d'exécution de mappage (.mfx) à partir d'un code VB.NET. Sous Windows, les fichiers d'exemple sont disponibles à l'emplacement suivant : C:\Program Files\Altova\MapForceServer2026\etc\Examples.

 

Conditions préalables

MapForce Server est installé et mis sous licence

Si vous créez un nouveau projet Visual Studio, ajoutez une référence à l'assembly de MapForce Server (voir Interface .NET). Vous pouvez sauter cette étape si vous exécutez l'exemple API MapForce Server existant, parce que l'exemple référence déjà l'assembly de MapForce Server.

Sur le menu Build de Visual Studio, cliquer sur Configuration Manager et définir une plateforme de build correcte, par exemple Debug | x86  (ou Debug | x64, le cas échéant). Ne pas utiliser "Any CPU" en tant que plateforme.

Si vous avez installé MapForce Server 64-bit, alors l'application qui appelle l'API (comme l'échantillon ci-dessous) doit aussi être construite pour la plateforme 64-bit dans Visual Studio. De même, le chemin vers le programme d'exécution de MapForce Server doit être ajusté conformément au code.

 

La solution d'exemple se trouve dans le répertoire "Program Files", qui nécessite des droits administratifs. Vous devrez soit exécuter Visual Studio en tant qu'administrateur, soit copier la solution dans un fichier différent dans lequel vous n'avez pas besoin de droits d'administrateur.

 

 

Exécuter le fichier .mfx

Le code ci-dessous exécute trois fichiers d'exécution de serveur (.mfx). La table ci-dessous recense les fichiers d'entrée attendus par chaque fichier .mfx, et la sortie qui sera créée après l'exécution.

 

Fichier d'exécution (.mfx)

Entrée

Sortie

TokenizeString.mfx

AltovaTools.xml

AltovaToolsFeatures.csv

SimpleTotal.mfx

ipo.xml

String

ClassifyTemperatures.mfx

Temperatures.xml

Temperatures_out.xml

 

Si vous disposez de Altova MapForce, vous pouvez également consulter les mappages originaux à partir desquels les fichiers .mfx ont été compilés pour mieux les comprendre. Ils sont appelés TokenizeString1.mfd, SimpleTotal.mfd et ClassifyTemperatures.mfd, respectivement. Vous trouverez les mappages dans les répertoires suivants : C:\users\<user>\Altova\MapForce2026\MapForceExamples.

 

L'exemple ci-dessous procède comme suit :

 

Il crée une nouvelle instance de Altova.MapForceServer.Server. Il s'agit de l'objet avec lequel vous travaillerez par la suite.

Il définit un répertoire de travail dans lequel l'exécution aura lieu. Les fichiers d'entrée sont censés exister dans ce répertoire si vous vous y référez comme utilisant un chemin relatif. Des fichiers de sortie seront aussi créés dans ce répertoire.

Il exécute le fichier TokenizeString.mfx. Le chemin vers ce fichier est fourni en tant qu'un argument pour la méthode Run (veuillez noter que le chemin est relatif au répertoire de travail qui a été défini précédemment). En cas d'exécution réussie, un fichier .csv représentant la sortie de mappage sera créé dans le répertoire de travail.

Il exécute SimpleTotal.mfx. Le chemin de fichier est également relatif au répertoire de travail. Ce mappage produit une sortie de string, nous appelons donc la méthode GetOutputParameter pour obtenir la sortie de string.

Il exécute ClassifyTemperatures.mfx. Ce mappage attend un paramètre en tant qu'entrée, qui a été fourni avec l'aide de la méthode AddParameter

 

 

Option Explicit On
 
Module Program
 
  Sub Main()
 
       Try
          'Créer un objet MapForce Server;
          Dim objMFS As Altova.MapForceServer.Server = New Altova.MapForceServer.Server
 
          'Définir un répertoire de travail - utilisé comme base pour les chemins relatifs du fichier d'exécution du serveur MapForce (.mfx).
           'objMFS.WorkingDirectory = "C:\Program Files (x86)\Altova\MapForceServer2020\etc\Examples"
           objMFS.WorkingDirectory = "..\..\.."
 
          'Le chemin d'accès par défaut à l'exécutable MapForce Server est le chemin d'installation (même répertoire que MapForceServer.dll)
           'Si vous avez déplacé les fichiers binaires sur le disque, vous devez définir explicitement le chemin d'accès au fichier .exe

           'Le ServerPath doit être défini avant toute autre propriété, car il réinitialise le serveur et réinitialise toutes les propriétés.
           'objMFS.ServerPath = "C:\Program Files (x86)\Altova\MapForceServer2026\bin\MapForceServer.exe"
           'objMFS.ServerPath = "C:\Program Files\Altova\MapForceServer2026\bin\MapForceServer.exe"
 
           'Définissez le fichier de ressources global et la configuration si votre mappage utilise des ressources globales
           'objMFS.SetOption("globalresourcefile", "GlobalResources.xml") '"gr" peut être utilisé comme nom abrégé pour "globalresourcefile"
           'objMFS.SetOption("globalresourceconfig", "Config2") '"gc" peut être utilisé comme nom abrégé pour "globalresourceconfig"
 
           '----------------------------------------------------------------------------------
           'Exemple avec les chemins d'entrée et de sortie stockés dans le fichier MFX
          System.Console.WriteLine(vbCrLf & "Executing TokenizeString.mfx...")
          If (objMFS.Run("TokenizeString.mfx")) Then
              System.Console.WriteLine("Successfully generated file 'AltovaToolFeatures.csv'.")
          Else
              'Échec de l'exécution. Peut-être pas de droits d'écriture dans le répertoire de travail ? Exécutez ce programme en tant qu'administrateur.
              System.Console.WriteLine(objMFS.LastExecutionMessage)
          End If
 
          '----------------------------------------------------------------------------------
           'Exemple de création d'une sortie simple afin de pouvoir récupérer le résultat de manière explicite
          System.Console.WriteLine(vbCrLf & "Executing SimpleTotal.mfx...")
          If (objMFS.Run("SimpleTotal.mfx")) Then
              System.Console.WriteLine("Mapping result is: " & objMFS.GetOutputParameter("total"))
          Else
              'Échec de l'exécution (par exemple, quelqu'un a supprimé le fichier ipo.xml)
              System.Console.WriteLine(objMFS.LastExecutionMessage)
          End If
 
          '----------------------------------------------------------------------------------
           'Exemple avec une entrée paramétrée
           ' La valeur par défaut 'lower=5' est remplacée par la valeur '10'
           ' mfx lit le fichier Temperatures.xml et écrit sa sortie dans Temperatures_out.xml.
          System.Console.WriteLine(vbCrLf & "Executing ClassifyTemperatures.mfx with parameter 'lower' set to '10' ...")
        objMFS.AddParameter("lower", "10")
          If (objMFS.Run("ClassifyTemperatures.mfx")) Then
              System.Console.WriteLine("File Temperatures_out.xml has been written successfully.")
          Else
              'Échec de l'exécution. Peut-être pas de droits d'écriture dans le répertoire de travail ? Exécutez ce programme en tant qu'administrateur.
              System.Console.WriteLine(objMFS.LastExecutionMessage)
          End If
 
       Catch ex As Exception
          System.Console.WriteLine("Internal Error - " & ex.Message())
      End Try
 
  End Sub
 
End Module

 

© 2020-2026 Altova GmbH