Visual Basic

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  MapForce Server API > Exemples de code >

Visual Basic

L'exemple suivant illustre comment exécuter un fichier d'exécution de mappage (.mfx) depuis le code Visual Basic. Sous Windows, les fichiers d'exemple sont disponibles sous le chemin suivant : C:\Program Files\Altova\MapForceServer2019\etc\Examples.

 

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.

 

Conditions préalables

MapForce Server est installé et mis sous licence
Si vous créez un nouveau projet Visual Studio, ajouter une référence à l'assembly de MapForce Server (voir À propos de l'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.

 

Exécuter le fichier .mfx

Le code ci-dessous procède comme suit :

 

Le 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. Concrètement, le fichier d'exécution du serveur exécuté par cet exemple (TokenizeString.mfx) lit des données depuis un fichier appelé AltovaTools.xml, qui est accompagné par le schéma AltovaTools.xsd. Ces fichiers doivent exister dans le répertoire de travail pour que le fichier .mfx puisse être exécuté avec succès.
Il exécute le fichier TokenizeString.mfx. Le chemin vers ce fichier est fourni en tant qu'un argument pour la méthode Run. En cas d'exécution réussie, un fichier .csv représentant la sortie de mappage sera créé dans le répertoire de travail.

 

Option Explicit On

 

Module Program

 

  Sub Main()

 

      'Create a MapForce Server object;

      Dim objMFS As Altova.MapForceServer.Server = New Altova.MapForceServer.Server

 

      'Set a working directory - used as a base for relative paths (you may need to adapt the path to the installation folder)

       objMFS.WorkingDirectory = "C:\Program Files (x86)\Altova\MapForceServer2019\etc\Examples"

 

      'Default path to the MapForce Server executable is the installation path (same dir with the MapForceServer.dll)

      'In case you moved the binaries on the disk, you need to explicitly set the path to the .exe file

      'objMFS.ServerPath = "C:\Program Files (x86)\Altova\MapForceServer2019\bin\MapForceServer.exe"

 

      'Set global resource file and configuration, if your mapping uses global resources

      'objMFS.SetOption("globalresourcefile", "GlobalResource.xml") '"gr" can be used as short name for "globalresourcefile"

      'objMFS.SetOption("globalresourceconfig", "Config2") '"gc" can be used as short name for "globalresourceconfig"

 

      'Prepare the parameters, if your mapping uses parameters

      'objMFS.AddParameter( "testparam1", "value 1" )

 

      ' Run the mapping; input and output paths are stored inside the MFX file

      ' NOTE Please adapt the path to the input file in order to run the sample

      If (objMFS.Run("C:\Program Files (x86)\Altova\MapForceServer2019\etc\Examples\TokenizeString.mfx")) Then

           System.Console.WriteLine("Success - finished execution")

      Else

           System.Console.WriteLine(objMFS.LastExecutionMessage)

      End If

  End Sub

 

End Module


© 2019 Altova GmbH