MethodCall (exemple BizTalk Server)
L'exemple MethodCall illustre l'appel d'une méthode .NET à partir d'une orchestration BizTalk Server.
Fonctions de l'exemple
Cet exemple interagit avec une méthode .NET en procédant comme suit :
L’orchestration BizTalk Server récupère un fichier d’entrée XML à partir du dossier In. Ce fichier contient des informations sur une addition ou une soustraction que vous souhaitez voir la bibliothèque d'écritures mathématiques effectuer.
L'orchestration appelle la bibliothèque d'écritures mathématiques intégrée afin de réaliser l'addition ou la soustraction spécifiée dans le fichier d'entrée XML.
La méthode de bibliothèque mathématique appropriée, Ajouter ou Soustraire, effectue le calcul demandé et empaque le résultat sous forme de document XML.
L'orchestration place le fichier .xml résultant dans le dossier Out.
Comment cet exemple est conçu et pourquoi
Il illustre les fonctionnalités suivantes :
Exploitation des propriétés promues dans une orchestration. Les trois éléments dans InputSchema.xsd sont promus en tant que champs distinctifs. Lorsque l'orchestration reçoit le message d'entrée, elle récupère les valeurs de ces trois champs et les affecte aux variables correspondantes qui sont déclarées dans l'orchestration.
Utilisation de la forme Décider pour exprimer la logique « if-then-else » dans une orchestration. Une fois que l’orchestration a affecté les valeurs des champs distingués aux variables internes, elle entre la forme Décider pour case activée si une addition ou une soustraction doit être effectuée. Si aucune opération ne doit être effectuée, l'orchestration est arrêtée.
Appel d'un assembly externe à partir d'une orchestration. Lorsqu'une addition doit être effectuée, l'orchestration appelle un assembly C# externe et transmet deux paramètres nécessaires pour effectuer l'opération. La même procédure s'applique dans le cas d'une soustraction.
Notes
Vous devez installer l'assembly dans le GAC (Global Assembly Cache) avant de pouvoir l'appeler à partir de l'orchestration ; sinon, vous recevez une erreur XLANG au moment de l'exécution.
Utilisation de la forme Affectation de message pour construire le message de sortie.
Débogage de l'orchestration en ajoutant le code suivant dans la forme Expression :
System.Diagnostics.Debug.WriteLine(iResult);
Vous pouvez également écrire le résultat dans le journal des événements comme suit :
System.Diagnostics.EventLog.WriteEntry("MethodCall SDK Sample Debug", System.String.Format("Result = {0}", iResult);
Accès à l'exemple
<Chemin d’accès> des exemples\Orchestrations\MethodCall\
Le tableau suivant présente les fichiers de cet exemple et décrit leur fonction.
Fichier(s) | Description |
---|---|
Cleanup.bat | Permet d'annuler le déploiement des assemblys et de supprimer ceux-ci du Global Assembly Cache. Supprime les ports d'envoi et de réception. Supprime les répertoires virtuels Microsoft Internet Information Services (IIS) le cas échéant. |
Input.xml | Exemple de fichier d'entrée. |
Setup.bat | Utilisé pour générer et initialiser cet exemple. |
Dans le dossier \MathLibrary : AssemblyInfo.cs, MathHelper.cs, MathLibrary.csproj |
Projet et fichiers sources pour la bibliothèque d'écritures mathématiques utilisée par cet exemple. |
Dans le dossier \MethodCallSample : InputSchema.xsd, OutputSchema.xsd |
Schémas pour les fichiers .xml d'entrée et de sortie, respectivement. |
Dans le dossier \MethodCallSample : MethodCallSample.btproj, MethodCallSample.sln |
Fichiers projet et solution de l'exemple. |
Dans le dossier \MethodCallSample : MethodCallSampleBinding.xml |
Utilisé pour une configuration automatisée, comme la liaison de port. |
Dans le dossier \MethodCallSample : MethodCallService.odx |
BizTalk Server orchestration qui appelle la bibliothèque mathématique pour effectuer le calcul demandé. |
Génération et initialisation de cet exemple
Pour créer et initialiser l'exemple MethodCall
Dans une fenêtre de commande, accédez au dossier suivant :
<Chemin d’accès> des exemples\Orchestrations\MethodCall
Exécutez le fichier Setup.bat, qui effectue les actions suivantes :
Création des dossiers d'entrée (In) et de sortie (Out) associés à cet exemple dans le dossier MethodCall.
Compile les projets Visual Studio pour cet exemple et déploie les assemblys résultants.
Crée et lie l’emplacement de réception BizTalk Server et les ports d’envoi et de réception à l’orchestration.
Active l'emplacement de réception, et démarre le port d'envoi. Inscrit et démarre l’orchestration.
Notes
Avant d'essayer d'exécuter cet exemple, vous devez vous assurer que BizTalk Server n'a signalé aucune erreur lors du processus de création et d'initialisation.
Exécution de cet exemple
Pour exécuter l'exemple MethodCall
Collez une copie du fichier Input.xml dans le dossier In.
Observez le fichier .xml créé dans le dossier Out. Ce fichier contient le résultat de l'opération d'addition ou de soustraction demandée. Le format du nom de ce fichier est <MessageID>.xml, où <MessageID> est le GUID généré pour identifier le message de manière unique.
Vous pouvez modifier le fichier d'entrée de manière à réaliser des additions ou des soustractions différentes.
Désinstallation de l'exemple
Pour désinstaller l'exemple MethodCall
À une invite de commandes Visual Studio, remplacez le répertoire (cd) par <Samples Path>\Orchestrations\MethodCall\.
Exécutez Cleanup.bat.