Partager via


Orchestration de PIPAutomation DoubleAction

L’exemple DoubleAction.odx montre comment implémenter une orchestration pour générer automatiquement des réponses pour les processus d’interface partenaire (PIPs) à double action 0C2, 0C4, 3A2 et 3A4. Vous pouvez étendre cet exemple de projet pour prendre en charge des PIP double action supplémentaires.

Notes

Les mappages fournis dans l’exemple de dossier sont des exemples. Pour les utiliser, vous devez les modifier en fonction de vos besoins spécifiques.

Notes

Vous devez étendre cet exemple de projet pour prendre en charge les pips à double action uniquement, et non les pips à action unique. Cette orchestration retourne une erreur si vous l’étendez pour traiter un PIP à action unique. Pour vous assurer que cette orchestration ne traite pas les pips à action unique, consultez la section Filtrage des messages Single-Action ci-dessous.

Par défaut, le programme d’installation de Microsoft® BizTalk Accelerator for RosettaNet (BTARN) installe cet exemple dans <drive> :\Program Files\Microsoft BizTalk Accelerator for RosettaNet\SDK\PIPAutomation\DoubleAction.

Cet exemple de projet comprend :

  • Procédure stockée (PipAutomationGetAction) pour récupérer de nouveaux messages d’action pour les pips 0C2, 0C4, 3A2 et 3A4.

  • Emplacement de réception (MessagesToLOB_Receive_Location) lié à la procédure stockée SQL.

  • Une orchestration (DoubleAction.odx) qui traite chaque PIP, génère la réponse appropriée basée sur un mappage pour chaque PIP et enregistre la réponse dans la table MessagesFromLOB de la base de données BTARNDATA. L’orchestration utilise la RNIFSubmit méthode de Microsoft.Solutions.BTARN.Shared.dll pour envoyer le message.

  • Fichier de liaison (DoubleActionBinding.xml) que le fichier Setup.bat utilise pour créer le MessagesToLOB_Receive_Port à utiliser avec l’orchestration DoubleAction.

  • Fichier d’installation pour générer et initialiser l’exemple. Si BizTalk Server s’exécute sur un ordinateur 32 bits, exécutez le fichier setup.bat dans le <dossier drive> :\Program Files\Microsoft BizTalk Accelerator for RosettaNet \SDK\PIPAutomation\DoubleAction. Si BizTalk Server s’exécute sur un ordinateur 64 bits, exécutez setupx64.bat dans le même dossier.

    L’orchestration reçoit des messages à l’aide de la procédure stockée PipAutomationGetAction dans la base de données BTARNData (le fichier source est DoubleAction.sql dans le répertoire DoubleAction). Cette procédure stockée récupère les messages de la table MessagesToLOB.

    Pour étendre cet exemple de projet afin de prendre en charge des piPs à double action supplémentaires, ajoutez un chemin d’accès à l’orchestration pour le pip à double action. Ce chemin d’accès inclut une carte qui construit un message de réponse à un message de demande. Pour obtenir des exemples de mappages, consultez l’exemple de carte de réponse 3A2 request to 3A2 et le 3A4 Response Map Sample [RN3].

Pour créer et initialiser l'exemple

  1. À l’invite de commandes, recherchez le <dossier drive> :\Program Files\Microsoft BizTalk Accelerator for RosettaNet\SDK\PIPAutomation\DoubleAction.

    Notes

    Avant d’exécuter le programme d’installation, ouvrez le fichier DoubleAction.sql (dans le dossier ci-dessus) dans le Bloc-notes. Dans le menu Fichier, cliquez sur Enregistrer sous. Dans la liste Encodage , sélectionnez ANSI, puis cliquez sur Enregistrer. Sélectionnez Oui pour remplacer les fichiers existants.

  2. Si votre BizTalk Server s’exécute sur un ordinateur 32 bits, exécutez le fichier setup.bat dans le <dossier drive> :\Program Files\Microsoft BizTalk Accelerator for RosettaNet\SDK\PIPAutomation\DoubleAction. Si votre installation BizTalk Server s’exécute sur un ordinateur 64 bits, exécutez setupx64.bat dans le même dossier. Le fichier de commandes effectuera les actions suivantes :

    • Crée une procédure stockée SQL (PipAutomationGetAction) dans la base de données BTARNDATA pour récupérer le message d'action à partir de la table MessagesToLOB. Cela garantit également que les enregistrements récupérés ne seront pas lus à nouveau.

    • Compile le projet .NET HeaderHelper et inscrit l'assembly dans le GAC (Global Assembly Cache).

    • Crée et lie le port de réception BizTalk Server SQL (MessagesToLOB_Receive_Port).

    • Active l'emplacement de réception (MessagesToLOB_Receive_Location).

    • Compile et déploie le Double-Action PIPAutomation Orchestration (DoubleAction.odx).

    • Lie et démarre l’orchestration BizTalk Server.

      Notes

      L'exemple affiche des avertissements pendant la compilation. Vous pouvez ignorer ces avertissements.

      Notes

      L’exemple utilise le nom d’hôte par défaut BizTalkServerApplication lors du déploiement du projet. Si vous souhaitez exécuter l’exemple sous un autre hôte, vous devez modifier les noms d’hôte par défaut trouvés dans DoubleActionBinding.xml sous <le dossier SDK>\PIPAutomation\DoubleAction.

Pour exécuter l’exemple Double-Action PIPAutomation

  1. Créez un contrat 3A4 où le rôle de base est un initiateur. Définissez le GBI pour le organization d’accueil sur 123456789 et définissez le GBI pour le partenaire sur 987654321. Cela vous permet d’utiliser les exemples fournis dans le dossier SampleInstances sous le dossier LOBApplication dans le Kit de développement logiciel (SDK).

  2. À l’aide de l’utilitaire de mise en miroir d’accords de bouclage, créez un miroir pour le PIP 3A4 créé à l’étape 1.

  3. À l’aide de l’utilitaire sdk LOBApplication.exe, envoyez un message de demande PIP 3A4. Le Kit de développement logiciel (SDK) BTARN inclut un exemple d’entrée dans le dossier < Répertoire >d’installation\SDK\LOBApplication\SampleInstances\3A4_Request.xml.

  4. Exécutez la requête suivante sur la base de données BTARNDATA :

    Select * from MessagesToLOB  
    
  5. Après plusieurs secondes, quatre nouveaux messages apparaissent dans ce tableau. Deux d’entre eux sont des signaux d’accusé de réception. Un signal est le message de demande Async 3A4. Un signal est le message de réponse Async 3A4.

    Notes

    Pour annuler les modifications effectuées par Setup.bat, exécutez Cleanup.bat. Vous devez exécuter Cleanup.bat avant de réexécuter Setup.bat.

Remarques

L’orchestration publique génère automatiquement des accusés de réception (messages de signal ACK et NACK). L’application métier n’a pas besoin de les générer.

Le format du message routé vers la table MessagesFromLOB est appelé LOBMessage. Le schéma est disponible dans C :\Program Files\Microsoft BizTalk Accelerator pour RosettaNet\SDK\RNIFSchemas\GlobalSchemas\LOBMessage.xsd. Si vous utilisez la RNIFSubmit méthode , vous n’avez pas besoin d’utiliser le format de message. Vous devez uniquement envoyer le ServiceContent avec les informations supplémentaires. RNIFSubmit remplit l’enregistrement dans la table MessagesFromLOB.

Filtrage des messages Single-Action

Cette orchestration ne doit recevoir que des messages de double action. Vous ne devez pas étendre cet exemple de projet pour prendre en charge les pips à action unique. BTARN publiera des erreurs si vous utilisez cette orchestration pour traiter des messages à action unique. Pour empêcher l’orchestration de recevoir un message à action unique, modifiez la ligne suivante dans la procédure stockée PIPAutomationGetAction :

SELECT PIPInstanceID,DestinationPartyName,SourcePartyName,PIPCode,PIPVersion,ServiceContent FROM MessagesToLOB  

À la ligne ci-dessus, ajoutez une clause WHERE qui va filtrer les messages à action unique. Incluez dans la clause WHERE tous les messages à action unique que vous allez traiter. La ligne doit être la suivante :

SELECT PIPInstanceID,DestinationPartyName,SourcePartyName,PIPCode,PIPVersion,ServiceContent FROM MessagesToLOB WHERE PIPCode NOT IN ( '0A1', '3B2', '3C3', '0C1', '0C3' )  

Voir aussi

Exemple de mappage d’une demande 3A2 à une réponse 3A2
Exemple de mappage d’une demande 3A4 à une réponse 3A4
Exemples d’orchestration