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 VBScript. Sous Windows, les fichiers d'exemple sont disponibles à l'emplacement suivant : C:\Program Files\Altova\MapForceServer2026\etc\Examples.

 

Avant d'exécuter le code ci-dessous, assurez-vous que les prérequis suivants sont remplis :

 

MapForce Server est installé et sous licence

MapForce Server est disponible en tant qu'objet serveur COM (normalement, ce processus se déroule automatiquement lors de l'installation de MapForce Server ; pour vérifier si l'enregistrement a réussi, voir À propos de l'interface COM).

 

Option Explicit
 
REM Ce script produit une sortie volumineuse.
Il est préférable de l'appeler à partir d'une console cmd.exe avec "cscript MapForceServerAPI_sample.vbs"
 
'Créer l'objet MapForce Server
Dim objMFS
' Comme nous chargeons une DLL COM, nous devons prêter attention à l'architecture du processus
On Error Resume Next   ' ignorer toutes les erreurs COM afin d'éviter l'arrêt incontrôlé du script
Dim WshShell
Dim WshProcEnv
Set WshShell = CreateObject("WScript.Shell")
Set WshProcEnv = WshShell.Environment("Process")
Dim process_architecture
process_architecture= WshProcEnv("PROCESSOR_ARCHITECTURE")
If process_architecture = "x86" Then
  Set objMFS = WScript.GetObject( "", "MapForce.Server" )
  If Err.Number <> 0 then
     WScript.Echo("You are running in a 32-bit process but MapForce Server COM-API 32-bit seems not to be installed on your system.")
     WScript.Quit -1
  End If
Else
  Set objMFS = WScript.GetObject( "", "MapForce_x64.Server" )
  If Err.Number <> 0 then
     WScript.Echo("You are running in a 64-bit process but MapForce Server COM-API 64-bit seems not to be installed on your system.")
     WScript.Echo("If you have installed 32-bit MapForce Server consider calling your script from the 32-bit console 'C:\Windows\SysWOW64\cmd.exe.'")
     WScript.Quit -1
  End If
End If
On Error Goto 0     ' Réactiver la promotion d'erreur par défaut
 
'Définir un répertoire de travail - utilisé comme base pour les chemins relatifs (vous devrez peut-être adapter le chemin d'accès au dossier d'installation)
REM objMFS.WorkingDirectory = "C:\Program Files (x86)\Altova\MapForceServer2020\etc\Examples"
Dim currDir
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
currDir = fso.GetParentFolderName(Wscript.ScriptFullName)
'définissez le dossier de travail comme parent de ce script
objMFS.WorkingDirectory = fso.GetParentFolderName( currDir )
 
'Le chemin par défaut vers l'exécutable MapForce Server est le chemin d'installation (même répertoire que MapForceServer.dll).
'Si vous avez déplacé les binaires sur le disque, vous devez définir explicitement le chemin vers le 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"
 
'Définissez le fichier de ressources global et la configuration si votre mappage utilise des ressources globales
'Appeler objMFS.SetOption("globalresourcefile", "GlobalResources.xml") '"gr" peut être utilisé comme nom abrégé pour "globalresourcefile"
'Appeler objMFS.SetOption("globalresourceconfig", "Config2") '"gc" peut être utilisé comme nom abrégé pour "globalresourceconfig"
 
WScript.Echo( "Running " & objMFS.ProductNameAndVersion & vbCrlf )
 
' La méthode Run renverra 'True' si l'exécution du fichier mfx a réussi, sinon 'False'.
' En cas d'erreurs fondamentales telles que l'arrêt du processus serveur, une erreur COM sera générée, qui
' peut être gérée à l'aide de l'objet VBScript Err.
On Error Resume Next   ' ignore toutes les erreurs COM, évitant ainsi l'arrêt incontrôlé du script
Err.Clear
 
REM ----------------------------------------------------------------------------
REM exécute un exemple avec les chemins d'entrée et de sortie stockés dans le fichier MFX
' Le chemin d'accès au fichier mfx peut être absolu ou relatif au répertoire de travail
' en fonction de l'existence du fichier AltovaTools.xml dans le répertoire de travail
' Crée le fichier de sortie AltovaToolFeatures.csv dans le répertoire de travail
WScript.Echo( "Processing TokenizeString.mfx..." )
If ( objMFS.Run( "TokenizeString.mfx" ) ) Then
  'WScript.Echo( objMFS.LastExecutionMessage )   ' execution log
  WScript.Echo( "Successfully generated file AltovaToolFeatures.csv." )
Else
  'échec de l'exécution (par exemple, quelqu'un a supprimé le fichier AltovaTools.xml)
  WScript.Echo( objMFS.LastExecutionMessage )
End If
WScript.Echo("")
' Gérer les erreurs COM
If Err.Number <> 0 Then
  WScript.Echo("Internal error - " & Err.Description )
  WScript.Quit -1
End If
 
REM -----------------------------------------------------------------------------------------
Il s'agit d'un exemple créant une sortie simple afin que nous puissions récupérer le résultat explicitement
' Dépend du fichier XML inpuz ipo.xml
WScript.Echo( "Processing SimpleTotal.mfx..." )
If ( objMFS.Run( "SimpleTotal.mfx" ) ) Then
  'WScript.Echo( objMFS.LastExecutionMessage )
  WScript.Echo( "Mapping result is: " & objMFS.GetOutputParameter("total") )
Else
  'échec de l'exécution (par exemple, quelqu'un a supprimé le fichier ipo.xml)
  WScript.Echo( objMFS.LastExecutionMessage )
End If
WScript.Echo("")
' gérer les erreurs COM
If Err.Number <> 0 Then
  WScript.Echo("Internal error - " & Err.Description )
  WScript.Quit -1
End If
 
REM ----------------------------------------------------------------------------
Voici un 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 son résultat dans Temperatures_out.xml.
WScript.Echo( "Processing ClassifyTemperatures.mfx with parameter 'lower' set to '10' ..." )
call objMFS.AddParameter("lower", "10")
If ( objMFS.Run( "ClassifyTemperatures.mfx" ) ) Then
  'WScript.Echo( objMFS.LastExecutionMessage )
  WScript.Echo( "File Temperatures_out.xml has been written successfully." )
Else
  'Échec de l'exécution (par exemple, quelqu'un verrouille le fichier Temperatures_out.xml)
  WScript.Echo( objMFS.LastExecutionMessage )
End If
call objMFS.ClearParameterList()
WScript.Echo("")
 
' gérer les erreur COM
If Err.Number <> 0 Then
  WScript.Echo("Internal error - " & Err.Description )
  WScript.Quit -1
End If
 
On Error Goto 0     ' Réactiver la promotion d'erreur par défaut

 

© 2020-2026 Altova GmbH