ApplicationAdapter
Das ApplicationAdapter-Beispiel veranschaulicht, wie Sie Benachrichtigungen von den öffentlichen und privaten Prozessen (Antworter oder Initiator) senden, wenn Sie eine Nachricht erhalten. Sie können das Beispiel mit den gewünschten zusätzlichen Funktionen anpassen.
Im ApplicationAdapter-Beispiel wird veranschaulicht, wie die IApplicationAdapter
Schnittstelle für die ApplicationAdapter1
-Klasse implementiert wird. Diese Klasse umfasst zwei Methoden und BeginNotify
Notify
. Die Parameter für jede Klasse sind die Nachrichtenkategorie, der Name des Quellanbieters, der Name der Zielpartei, der Pip-Code (Partner Interface Process), pip instance ID und die PIP-Version.
Sie legen den ApplicationAdapter für eine Vereinbarung fest, indem Sie den Assembly- und Klassennamen auf der Registerkarte Allgemein der Vereinbarung in der Microsoft® BizTalk Accelerator for RosettaNet -Verwaltungskonsole (BTARN) eingeben. Der Anwendungsadapter .dll Datei wird unter den gleichen Anmeldeinformationen wie der BizTalk-Hostdienst ausgeführt.
Wenn Sie das ApplicationAdapter-Beispiel oder eine externe Umgebungsvariable ändern, von der das ApplicationAdapter-Beispiel abhängt, starten Sie den BizTalk-Hostdienst neu, der den öffentlichen BTARN-Prozess hostet.
Der ApplicationAdapter-Beispielcode befindet sich unter <Laufwerk>:\Programme\ BizTalk-Versionsbeschleuniger <> für RosettaNet\SDK\ApplicationAdapter\.
Zeigt
Im ApplicationAdapter-Beispiel wird veranschaulicht, wie der private Prozess des Antwortgebers benachrichtigt wird, dass der öffentliche Prozess eine Nachricht erhalten hat. Die Benachrichtigung gibt die Nachrichtenkategorie, den Namen der Quellpartei, den Namen der Zielpartei, den PIP-Code, die PIP-Version und die PIP-instance-ID an. Sie können diese Benachrichtigung entweder für eine Aktion oder eine Antwortnachricht senden.
Die BeginNotify
Methoden und Notify
funktionieren wie folgt:
Der öffentliche Prozess des Antwortgebers empfängt eine Nachricht.
Hinweis
Die folgenden Schritte gelten auch für das Szenario, in dem der öffentliche Initiator eine Antwortnachricht vom Antwortgeber empfängt.
Wenn die Validierung durch die Empfangspipeline und den öffentlichen Prozess sowie ggf. den Validierungsadapter erfolgreich war, ruft der öffentliche Prozess des Antwortgebers die
BeginNotify
-Methode in derApplicationAdapter
-Klasse auf. Diese Methode benachrichtigt den privaten Prozess des Antwortstellers darüber, dass der öffentliche Prozess die neue Nachricht empfangen und die Nachricht in der MessageBox-Datenbank gespeichert hat.Der öffentliche Prozess des Antwortgebers sendet eine Signalnachricht zurück an den Initiator.
Der öffentliche Prozess des Antwortgebers sendet den Inhalt des Nachrichtendiensts an den privaten Prozess des Antwortenden.
Der private Prozess des Antwortgebers platziert die Nachricht in der Tabelle MessagesToLOB der BTARNDATA-Datenbank.
Der private Prozess des Antwortgebers ruft die
Notify
-Methode in derApplicationAdapter
-Klasse auf, um die Nachricht "Benachrichtigung beenden" zurück an den öffentlichen Prozess des Antwortenden zu senden. Der öffentliche Prozess des Antwortgebers muss die Meldung "Benachrichtigung beenden" empfangen, damit der Prozess erfolgreich abgeschlossen werden kann. Andernfalls wird die Nachricht angehalten.
Hinweis
Sie können die Notify
Nachricht verwenden, um der Branchenanwendung (Lob) zu signalisieren, dass die Nachricht in der Tabelle MessagesToLOB wartet. Sobald das System die LOB-Anwendung benachrichtigt, kann die LOB-Anwendung die Nachricht aus dieser Tabelle abrufen.
So implementieren Sie dieses Beispiel
Um das ApplicationAdapter-Beispiel zu implementieren, müssen Sie den Anwendungsadapter der Vereinbarung hinzufügen.
So fügen Sie den Anwendungsadapter zu einer Vereinbarung hinzu
Klicken Sie auf Start, zeigen Sie auf Alle Programme, zeigen Sie auf Microsoft BizTalk <Version> Accelerator for RosettaNet, und klicken Sie dann auf BizTalk Accelerator for RosettaNetManagement Console.
Erweitern Sie in der BizTalk Accelerator for RosettaNet-Verwaltungskonsole den Eintrag BizTalk Accelerator for RosettaNet, und klicken Sie auf Vereinbarungen.
Doppelklicken Sie auf die Vereinbarung, der Sie den Anwendungsadapter hinzufügen möchten.
Klicken Sie im Feld Anwendungsadapter auf die Schaltfläche mit den Auslassungspunkten (...) rechts neben Assemblyname, wechseln Sie zum Speicherort, der die Anwendungsadapterassembly enthält, wählen Sie die entsprechende .dll Datei aus, und klicken Sie dann auf Öffnen.
Klicken Sie auf den Pfeil nach unten für Klassenname, wählen Sie die Anwendungsadapterklasse aus, und klicken Sie dann auf OK.