Partager via


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 :

  1. 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.

  2. 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.

  3. 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.

  4. 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

  1. Dans une fenêtre de commande, accédez au dossier suivant :

    <Chemin d’accès> des exemples\Orchestrations\MethodCall

  2. 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

  1. Collez une copie du fichier Input.xml dans le dossier In.

  2. 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.

  3. 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

  1. À une invite de commandes Visual Studio, remplacez le répertoire (cd) par <Samples Path>\Orchestrations\MethodCall\.

  2. Exécutez Cleanup.bat.

Voir aussi

Orchestrations (dossier d’exemples BizTalk Server)