Freigeben über


Double Action-PIPAutomation-Orchestrierung

Das DoubleAction.odx-Beispiel veranschaulicht, wie Eine Orchestrierung implementiert wird, um automatisch Antworten für die partner interface processes (PIPs) mit doppelten Aktionen 0C2, 0C4, 3A2 und 3A4 zu generieren. Sie können dieses Beispielprojekt erweitern, um zusätzliche DoubleAction-PIPs zu unterstützen.

Hinweis

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

Hinweis

Sie sollten dieses Beispielprojekt erweitern, um nur PIPs mit doppelten Aktionen zu unterstützen, nicht um PIPs mit einzeler Aktion. Diese Orchestrierung gibt einen Fehler zurück, wenn Sie sie erweitern, um eine PIP-Einzelaktion zu verarbeiten. Informationen dazu, dass diese Orchestrierung keine PIPs mit nur einer Aktion verarbeitet, finden Sie weiter unten im Abschnitt Herausfiltern Single-Action Nachrichten.

Standardmäßig installiert das Setupprogramm Microsoft® BizTalk Accelerator for RosettaNet (BTARN) dieses Beispiel unter <laufwerk>:\Programme\Microsoft BizTalk Accelerator for RosettaNet\SDK\PIPAutomation\DoubleAction.

Dieses Beispielprojekt umfasst Folgendes:

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

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

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

  • 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 Setupdatei 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 <Ordner laufwerk>:\Programme\Microsoft BizTalk Accelerator for RosettaNet \SDK\PIPAutomation\DoubleAction aus. Wenn BizTalk Server auf einem 64-Bit-Computer ausgeführt wird, führen Sie setupx64.bat im gleichen Ordner aus.

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

    Um dieses Beispielprojekt zu erweitern, um zusätzliche PIPs mit doppelten Aktionen zu unterstützen, fügen Sie einen Pfad in der Orchestrierung für das PIP mit doppelter Aktion hinzu. Dieser Pfad enthält eine Zuordnung, die eine Antwortnachricht auf eine Anforderungsnachricht erstellt. Beispielzuordnungen finden Sie unter 3A2 Request to 3A2 Response Map Sample und 3A4 Request to 3A4 Response Map Sample [RN3].

So erstellen und initialisieren Sie dieses Beispiel

  1. Suchen Sie an einer Eingabeaufforderung den <Ordner laufwerk>:\Programme\Microsoft BizTalk Accelerator for RosettaNet\SDK\PIPAutomation\DoubleAction.

    Hinweis

    Öffnen Sie vor dem Ausführen des Setupprogramms die Datei DoubleAction.sql (im ordner oben) im Editor. Klicken Sie im Menü Datei auf Speichern unter. Wählen Sie in der Liste Codierungdie Option ANSI 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 <Ordner laufwerk>:\Programme\Microsoft BizTalk Accelerator for RosettaNet\SDK\PIPAutomation\DoubleAction aus. 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:

    • Erstellen einer gespeicherten SQL-Prozedur (PipAutomationGetAction) in der BTARNDATA-Datenbank, um die Aktionsnachricht aus der MessagesToLOB-Tabelle abzurufen. Dadurch wird auch sichergestellt, dass die abgerufenen Datensätze nicht erneut gelesen werden.

    • Kompilieren des .NET-Projekts "HeaderHelper" und Registrieren der Assembly im globalen Assemblycache.

    • Erstellt und bindet den BizTalk Server SQL-Empfangsport (MessagesToLOB_Receive_Port).

    • Aktivieren des Empfangsspeicherorts (MessagesToLOB_Receive_Location).

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

    • Bindet und startet die BizTalk Server Orchestrierung.

      Hinweis

      Das Beispiel zeigt während der Kompilierung einige Warnungen an. Sie können diese Warnungen ignorieren.

      Hinweis

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

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

  1. Erstellen Sie eine 3A4-Vereinbarung, bei der die Home-Rolle ein Initiator ist. Legen Sie die GBI für die home organization auf 123456789 fest, und legen Sie die GBI für den Partner auf 987654321 fest. Dadurch können Sie die Beispiele verwenden, die im Ordner SampleInstances unter dem Ordner LOBApplication im SDK bereitgestellt werden.

  2. Erstellen Sie mit dem Loopback-Hilfsprogramm für die Vereinbarungsspiegelung eine Spiegel für das in Schritt 1 erstellte 3A4-PIP.

  3. Senden Sie mit dem Hilfsprogramm LOBApplication.exe SDK eine 3A4 PIP-Anforderungsnachricht. Das BTARN SDK enthält ein Eingabebeispiel im Ordner <Installationsverzeichnis>\SDK\LOBApplication\SampleInstances\3A4_Request.xml.

  4. Führen Sie die folgende Abfrage für die BTARNDATA-Datenbank aus:

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

    Hinweis

    Wenn Sie von "Setup.bat" vorgenommene Änderungen rückgängig machen möchten, führen Sie "Cleanup.bat" aus. Sie müssen Cleanup.bat ausführen, bevor Sie Setup.bat erneut ausführen.

Hinweise

Die öffentliche Orchestrierung generiert automatisch Bestätigungen (ACK- und NACK-Signalmeldungen). Die Branchenanwendung (LOB) muss sie nicht generieren.

Das Format der Nachricht, die an die MessagesFromLOB-Tabelle weitergeleitet wird, wird als LOBMessage bezeichnet. Das Schema ist in C:\Programme\Microsoft BizTalk Accelerator for 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 nur den ServiceContent 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 Meldungen mit doppelten Aktionen empfangen. Sie sollten dieses Beispielprojekt nicht erweitern, um PIPs mit nur einer Aktion zu unterstützen. BTARN sendet Fehler, wenn Sie diese Orchestrierung verwenden, um Nachrichten mit einer einzelnen Aktion zu verarbeiten. Um zu verhindern, dass die Orchestrierung eine Einzelaktionsmeldung empfängt, ändern Sie die folgende Zeile in der gespeicherten Prozedur PIPAutomationGetAction:

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

Fügen Sie in der obigen Zeile eine WHERE-Klausel hinzu, die Nachrichten mit einer einzelnen Aktion herausfiltert. Schließen Sie in die WHERE-Klausel alle Nachrichten mit einzeler Aktion ein, die Sie verarbeiten werden. Die Zeile sollte wie folgt aussehen:

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

Weitere Informationen

3A2-Anforderung an ein 3A2-Antwortzuordnungsbeispiel
3A4-Anforderung an ein 3A4-Antwortzuordnungsbeispiel
Orchestrierungsbeispiele