Ausführen des Beispiels „BizTalk Failed Message Routing bei der ESB-Verarbeitung“
Das Beispiel Microsoft BizTalk Failed Message Routing ESB Processing veranschaulicht, wie Sie das Microsoft BizTalk ESB Toolkit Exception Management Framework als universellen Mechanismus zum Verwalten, Serialisieren und Rendern von Ausnahmen verwenden können, die unter allen Bedingungen in BizTalk Server auftreten. Dies umfasst Ausnahmen, die vom BizTalk-Mechanismus für das Routing fehlgeschlagener Nachrichten generiert werden, und Fehlermeldungen, die vom Exception Management Framework aus einer Orchestrierung generiert werden.
Der BizTalk-Mechanismus für das Routing fehlerhafter Nachrichten ist die Fehlerbehandlungsfunktion von BizTalk Server. Mithilfe dieser Funktion kann der Designer die automatisierte Behandlung von Messagingfehlern als Alternative zum herkömmlichen (jetzt standardbasierten) Verhalten festlegen, bei dem fehlerhafte Nachrichten in der Warteschlange "Angehalten" platziert werden. Diese automatisierte Verarbeitung leitet eine Fehlermeldung an jedes abonnierende Routingziel weiter, z. B. an einen Sendeport oder eine Orchestrierung. Die Fehlermeldung ist ein Klon der ursprünglichen Nachricht mit allen zuvor heraufgestuften Eigenschaften und ausgewählten Eigenschaften im Zusammenhang mit dem spezifischen Messagingfehler, der in den Nachrichtenkontext heraufgestuft wurde.
Aktivieren Sie das Kontrollkästchen Routing für fehlerhafte Nachrichten aktivieren , wie in Abbildung 1 dargestellt, um den BizTalk-Mechanismus für das Routing von Fehlerhaften Nachrichten für einen Empfangs- oder Sendeport zu aktivieren.
aktiviert
Abbildung 1
Aktivieren des BizTalk-Mechanismus für das Routing fehlgeschlagener Nachrichten
Es gibt jedoch keinen ähnlichen Mechanismus für Fehler oder Fehler, die in einer Orchestrierung auftreten. Stattdessen kann Code im Ausnahmehandler einer Orchestrierung die Api für das Exception Management Framework nutzen, um die Funktionalität des BizTalk Failed Message Routing-Mechanismus zu emulieren.
In diesem Beispiel übernimmt der Empfangsspeicherort namens EAIProcess.RequestPort_FILE Dateien, die an den Speicherort \Source\Samples\Exception Handling\Test\Filedrop\EAIProcess.RequestPort kopiert wurden.
Darüber hinaus gibt es einen generischen Sendeport mit dem Namen ALL. Exceptions_FILE für die Verwendung der GlobalFaultProcessor-Pipeline konfiguriert, die als Teil des Exception Management Frameworks installiert ist. Dieser Port abonniert alle Ausnahmen, die im System auftreten, sowohl BizTalk-Nachrichten mit fehlerhaften Nachrichten als auch ESB-Fehlermeldungen, wie in Abbildung 2 dargestellt.
Abbildung 2
Die ALL. Ausnahmen senden Portabonnement für alle Fehler- oder Ausnahmetypen
Das Exception Management Framework normalisiert alle Ausnahmen in ein einzelnes Format und serialisiert sie mithilfe einer Microsoft InfoPath-Verarbeitungsanweisung an den Speicherort \Source\Samples\Exception Handling\Test\Filedrop\All_Exceptions.
Installation
Alle Beispiele für die Ausnahmeverwaltung verwenden denselben Satz von Kerndiensten und BizTalk-Anwendungsartefakten. Daher müssen Sie die Ausnahmeverwaltungs-Beispielartefakte nur einmal installieren, um alle Ausnahmeverwaltungsbeispiele ausführen zu können. Informationen zum Installieren der Ausnahmeverwaltungsbeispiele finden Sie unter Installieren der Beispiele für die Ausnahmeverwaltung.
Ausführen der Beispielanwendung
So führen Sie das BizTalk-Beispiel für die ESB-Verarbeitung durch fehlerhaftes Nachrichtenrouting aus
Bevor Sie dieses Beispiel zum ersten Mal ausführen, stellen Sie sicher, dass der Empfangsspeicherort und die Sendeport-URL auf die entsprechenden Verzeichnisse im Ordner \Source\Samples\Exception Handling\Test\Filedrop verweisen. Der Empfangsspeicherort sollte den Ordner EAIProcess.RequestPort angeben, und die Sendeport-URL sollte den Ordner All_Exceptions angeben.
Wenn die GlobalBank.ESB-Anwendung noch nicht ausgeführt wird, verwenden Sie die BizTalk-Verwaltungskonsole, um sie zu starten.
Kopieren Sie die Datei mit dem Namen FlatFileReceive_in.txt aus dem Ordner \Source\Samples\Exception Handling\Test\Data in den Ordner "EAIProcess.RequestPort" (im Ordner \Source\Samples\Exception Handling\Test\Filedrop).
Diese Nachricht ist eine Textdatei und verursacht eine Ausnahme. Öffnen Sie den Ordner All_Exceptions (im Ordner \Source\Samples\Exception Handling\Test\Filedrop), und doppelklicken Sie dann auf die Fehlermeldung, um sie mithilfe der entsprechenden Vorlage in InfoPath zu öffnen. Sie sehen, dass der ESB-Ausnahmebehandlungsmechanismus den Inhalt entsprechend serialisiert, damit InfoPath sie rendern kann.
Kopieren Sie als Nächstes die Datei soapmessage[1].xml aus dem Ordner \Source\Samples\Exception Handling\Test\Data in den EAIProcess.RequestPort-Empfangsspeicherortordner.
Diese Meldung ist ein XML-Dokument, das einen CDATA-Abschnitt enthält und eine Ausnahme verursacht. Öffnen Sie den All_Exceptions Ausgabeordner, und doppelklicken Sie auf die Fehlermeldung, um sie in InfoPath zu öffnen. Sie sehen, dass der ESB-Ausnahmebehandlungsmechanismus diesen Inhalt entsprechend serialisiert, damit InfoPath sie rendern kann.
Kopieren Sie abschließend die Datei mit dem Namen Csqzav01.pdf aus dem Ordner \Source\Samples\Exception Handling\Test\Data in den EAIProcess.RequestPort-Empfangsspeicherort.
Diese Nachricht ist eine PDF-Datei und verursacht eine Ausnahme. Öffnen Sie den All_Exceptions Ausgabeordner, und doppelklicken Sie auf die Fehlermeldung, um sie in InfoPath zu öffnen. Sie sehen, dass der ESB-Ausnahmebehandlungsmechanismus serialisiert und Base-64 den Inhalt codiert, damit InfoPath sie rendern kann.