Freigeben über


Doppelaktion PIPAutomation-Orchestrierung

Das DoubleAction.odx-Beispiel veranschaulicht, wie eine Orchestrierung implementiert wird, um automatisch Antworten für die Double-Action Partner Interface Processes (PIPs) 0C2, 0C4, 3A2 und 3A4 zu generieren. Sie können dieses Beispielprojekt erweitern, um zusätzliche Doppelaktions-PIPs zu unterstützen.

Hinweis

Die im Beispielordner bereitgestellten Karten sind Beispiele. Um sie zu verwenden, müssen Sie sie basierend auf Ihren spezifischen Anforderungen ändern.

Hinweis

Sie sollten dieses Beispielprojekt erweitern, um nur PIPs mit Doppelaktion zu unterstützen, nicht PIPs mit Einzelaktion. Diese Orchestrierung gibt einen Fehler zurück, wenn Sie sie erweitern, um eine PIP mit einer einzelnen Aktion zu verarbeiten. Um sicherzustellen, dass diese Orchestrierung keine PIPs mit einer einzigen Aktion verarbeitet, lesen Sie weiter unten den Abschnitt "Filtern von Single-Action-Nachrichten".

Standardmäßig installiert das Microsoft® BizTalk Accelerator für RosettaNet (BTARN)-Setupprogramm dieses Beispiel in <Laufwerk>:\Programme\Microsoft BizTalk Accelerator für RosettaNet\SDK\PIPAutomation\DoubleAction.

Dieses Beispielprojekt umfasst:

  • Eine gespeicherte Prozedur (PipAutomationGetAction) zum Abrufen neuer Aktionsmeldungen für die PIPs 0C2, 0C4, 3A2 und 3A4.

  • Ein Empfangsspeicherort (MessagesToLOB_Receive_Location), der an eine gespeicherte SQL-Prozedur gebunden ist.

  • Eine Orchestrierung (DoubleAction.odx), die jedes PIP verarbeitet, generiert die entsprechende Antwort basierend auf einer Karte für jedes PIP und speichert die Antwort in der MessagesFromLOB-Tabelle der BTARNDATA-Datenbank. Die Orchestrierung verwendet die RNIFSubmit Methode von Microsoft.Solutions.BTARN.Shared.dll zum Senden der Nachricht.

  • Eine Bindungsdatei (DoubleActionBinding.xml), die die Datei Setup.bat verwendet, um die MessagesToLOB_Receive_Port für die Verwendung mit der DoubleAction-Orchestrierung zu erstellen.

  • Eine Installationsdatei zum Erstellen und Initialisieren des Beispiels. Wenn BizTalk Server auf einem 32-Bit-Computer ausgeführt wird, führen Sie die Datei setup.bat im <Laufwerk> aus:\Programme\Microsoft BizTalk Accelerator für RosettaNet \SDK\PIPAutomation\DoubleAction-Ordner. Wenn BizTalk Server auf einem 64-Bit-Computer ausgeführt wird, führen Sie setupx64.bat im selben Ordner aus.

    Die Orchestrierung empfängt Nachrichten mithilfe der gespeicherten Prozedur PipAutomationGetAction in der BTARNData-Datenbank (die Quelldatei DoubleAction.sql befindet sich im DoubleAction-Verzeichnis). Diese gespeicherte Prozedur ruft die Nachrichten aus der Tabelle "MessagesToLOB" ab.

    Um dieses Beispielprojekt so zu erweitern, dass zusätzliche PIPs mit doppelter Aktion unterstützt werden, fügen Sie einen Pfad in der Orchestrierung für die PIPs mit doppelter Aktion hinzu. Dieser Pfad enthält eine Zuordnung, die eine Antwortnachricht auf eine Anforderungsnachricht erstellt. Beispielkarten finden Sie im 3A2-Anforderungs- und -Antwortbeispiel sowie im 3A4-Anforderungs- und -Antwortbeispiel [RN3].

So erstellen und initialisieren Sie dieses Beispiel

  1. Suchen Sie an einer Eingabeaufforderung das <Laufwerk>:\Programme\Microsoft BizTalk Accelerator für RosettaNet\SDK\PIPAutomation\DoubleAction-Ordner.

    Hinweis

    Öffnen Sie vor dem Ausführen des Setupprogramms die Datei DoubleAction.sql (im obigen Ordner) im Editor. Klicken Sie im Menü Datei auf Speichern unter. Wählen Sie in der CodierungslisteANSI aus, und klicken Sie dann auf "Speichern". Klicken Sie auf "Ja ", um die vorhandene Datei zu überschreiben.

  2. Wenn Ihr BizTalk Server auf einem 32-Bit-Computer ausgeführt wird, führen Sie die Datei setup.bat im <Laufwerk> aus:\Programme\Microsoft BizTalk Accelerator für RosettaNet\SDK\PIPAutomation\DoubleAction-Ordner. Wenn Ihre BizTalk Server-Installation auf einem 64-Bit-Computer ausgeführt wird, führen Sie setupx64.bat im selben Ordner aus. Die Batchdatei führt die folgenden Aktionen aus:

    • Erstellt eine gespeicherte SQL-Prozedur (PipAutomationGetAction) in der BTARNDATA-Datenbank, um die Aktionsmeldung aus der Tabelle "MessagesToLOB" abzurufen. Dadurch wird auch sichergestellt, dass die abgerufenen Datensätze nicht erneut gelesen werden.

    • Kompiliert das HeaderHelper .NET-Projekt und registriert die Assembly im globalen Assemblycache.

    • Erstellt und verbindet den BizTalk Server SQL-Empfangs-Port (MessagesToLOB_Receive_Port).

    • Aktiviert den Empfangsstandort (MessagesToLOB_Receive_Location).

    • Kompiliert und stellt die Double-Action PIPAutomation Orchestration (DoubleAction.odx) bereit.

    • Bindet und startet die BizTalk-Server-Orchestrierung.

      Hinweis

      Im Beispiel werden beim Kompilieren einige Warnungen angezeigt. Sie können diese Warnungen ignorieren.

      Hinweis

      Im Beispiel wird der Standardhostname BizTalkServerApplication beim Bereitstellen des Projekts verwendet. Wenn Sie das Beispiel unter einem anderen Host ausführen möchten, müssen Sie die Standardhostnamen in DoubleActionBinding.xml unter <SDK>\PIPAutomation\DoubleAction-Ordner bearbeiten.

So führen Sie das Double-Action PIPAutomation-Beispiel aus

  1. Erstellen Sie eine 3A4-Vereinbarung, bei der die Heimrolle ein Initiator ist. Legen Sie die GBI für die Heimorganisation auf 123456789 fest, und legen Sie die GBI für den Partner auf 987654321 fest. Auf diese Weise können Sie die Im Ordner "SampleInstances" unter dem Ordner "LOBApplication" im SDK bereitgestellten Beispiele verwenden.

  2. Erstellen Sie mithilfe des Loopback-Vereinbarungsspiegelungsprogramms einen Spiegel für die in Schritt 1 erstellte 3A4 PIP.

  3. Verwenden Sie das LOBApplication.exe SDK-Dienstprogramm, um eine 3A4 PIP-Anfrage zu senden. Das BTARN SDK enthält ein Eingabebeispiel im Ordner <Installationsverzeichnis>\SDK\LOBApplication\SampleInstances\3A4_Request.xml.

  4. Führen Sie die folgende Abfrage in der BTARNDATA-Datenbank aus:

    Select * from MessagesToLOB  
    
  5. Nach mehreren Sekunden werden in dieser Tabelle vier neue Nachrichten angezeigt. Zwei von ihnen sind Bestätigungssignale. Ein Signal ist die Async 3A4-Anforderungsnachricht. Ein Signal ist die Async 3A4-Antwortnachricht.

    Hinweis

    Führen Sie Cleanup.bataus, um von Setup.batvorgenommene Änderungen rückgängig zu machen. Sie müssen Cleanup.bat ausführen, bevor Sie Setup.bat erneut ausführen.

Bemerkungen

Die öffentliche Orchestrierung generiert automatisch Bestätigungen (ACK- und NACK-Signalmeldungen). Die unternehmensspezifische Anwendung muss diese nicht generieren.

Das Format der Nachricht, die an die Tabelle "MessagesFromLOB" weitergeleitet wird, wird als LOBMessage bezeichnet. Das Schema ist in C:\Program Files\Microsoft BizTalk Accelerator für RosettaNet\SDK\RNIFSchemas\GlobalSchemas\LOBMessage.xsd verfügbar. Wenn Sie die RNIFSubmit Methode verwenden, müssen Sie nicht mit dem Nachrichtenformat arbeiten. Sie müssen den ServiceContent nur mit den zusätzlichen Informationen übermitteln. RNIFSubmit füllt den Datensatz in der Tabelle "MessagesFromLOB" auf.

Herausfiltern von Single-Action Nachrichten

Diese Orchestrierung sollte nur Nachrichten mit doppelter Aktion empfangen. Sie sollten dieses Beispielprojekt nicht erweitern, um PiPs mit einer Einzigen Aktion zu unterstützen. BTARN postt Fehler, wenn Sie diese Orchestrierung zum Verarbeiten von Einzelaktionsmeldungen verwenden. Um zu verhindern, dass die Orchestrierung eine Einzelaktionsnachricht empfängt, ändern Sie die folgende Zeile in der gespeicherten PIPAutomationGetAction-Prozedur:

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

Fügen Sie der obigen Zeile eine WHERE-Klausel hinzu, die Einzelaktionsmeldungen herausfiltert. Fügen Sie in der WHERE-Klausel alle Nachrichten mit einer Aktion ein, die Sie verarbeiten werden. Die Zeile sollte wie folgt sein:

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

Siehe auch

Beispiel für eine 3A2-Anforderung an 3A2-Antwortkarte
Beispiel für eine 3A4-Anforderung an 3A4-Antwortkarte
Orchestrierungsbeispiele