Arbeiten mit fehlerhaften Nachrichtenabonnements
Wenn der Microsoft BizTalk Accelerator for SWIFT-Disassembler (A4SWIFT) eine Nachricht verarbeitet (analysiert und überprüft), werden die Eigenschaften für diese Nachricht heraufstuft. Diese heraufgestuften Eigenschaften bieten Informationen zur Richtigkeit und Gültigkeit der Nachricht sowie batchbezogene Informationen, wenn A4SWIFT die Nachricht als Teil eines eingehenden Batches empfangen haben. Eine vollständige Liste dieser Eigenschaften finden Sie unter A4SWIFT_* Höhergestufte Eigenschaften.
Im Gegensatz zu nativen BizTalk-Disassemblern hält der A4SWIFT Disassembler keine Nachricht an, wenn die Verarbeitung Zu Fehlern oder Fehlern führt. Stattdessen veröffentlicht es die fehlerhafte Nachricht in der MessageBox-Datenbank, genau wie eine gültige Nachricht. Daher können fehlerhafte Nachrichten Fehlerdetails in die MessageBox-Datenbank übertragen. Sie können die Nachricht aus der MessageBox-Datenbank abrufen, die Nachricht behandeln und reparieren und sogar die Nachricht erneut in die MessageBox-Datenbank übermitteln. Sie könnten die meisten dieser Aufgaben nicht ausführen, wenn die Nachricht tatsächlich angehalten wurde.
Sie können eine Nachricht, die A4SWIFT in der MessageBox-Datenbank veröffentlicht hat, aufgrund der heraufgestuften Eigenschaften als fehlerhaft oder fehlerhaft identifizieren. Bei der Verarbeitung einer fehlerhaften Nachricht füllt der SWIFT-Disassembler die eigenschaft A4SWIFT_Failed und eine oder mehrere der folgenden Eigenschaften auf und höher, bevor die Nachricht in der MessageBox-Datenbank veröffentlicht wird:
A4SWIFT_ParseErrors gibt die Anzahl von Analysefehlern (z. B. falsch formatierte Daten) an, die während der Verarbeitung auftreten.
A4SWIFT_XmlValidationErrors gibt die Anzahl von XML-Validierungsfehlern (z. B. ungültige Daten oder falscher Typ in Bezug auf das Schema) an, die während der Verarbeitung aufgetreten sind.
A4SWIFT_BreValidationErrors gibt die Anzahl der Überprüfungsfehler der Geschäftsregel-Engine (BUSINESS Rule Engine, BRE) an (z. B. Daten, die eine SWIFT-Netzwerkregel unterbricht) während der Verarbeitung.
A4SWIFT_Failed ist true , wenn die Anzahl der oben genannten Eigenschaften größer als 0 ist, oder false , wenn die Anzahl gleich 0 ist.
Diese Eigenschaften sind alle Teil von Microsoft . Solutions.A4SWIFT.Property-Namespace. Weitere Informationen zu diesen und anderen heraufgestuften Eigenschaften finden Sie unter A4SWIFT_* Höhergestufte Eigenschaften.
Zum Abfangen oder Abrufen fehlerhafter Nachrichten müssen Sie Filterausdrücke (Abonnements) für Sendeports oder Orchestrierungs-Empfangsformen erstellen, die einige der oben aufgeführten Eigenschaften als AND-Klauseln des Ausdrucks enthalten.
Um beispielsweise alle fehlerhaften Nachrichten zu abonnieren, fügen Sie die folgende Klausel hinzu (als AND-Klausel , wenn andere Klauseln vorhanden sind):
Microsoft. Solutions.A4SWIFT.Property.A4SWIFT_Failed == true
Um Nachrichten nur mit Analysefehlern zu abonnieren, fügen Sie die folgenden Klauseln zusammen:
UND Microsoft. Solutions.A4SWIFT.Property.A4SWIFT_Failed == true,AND Microsoft . Solutions.A4SWIFT.Property.A4SWIFT_XmlValidationErrors == 0,UNDMicrosoft . Solutions.A4SWIFT.Property.A4SWIFT_BreValidationErrors == 0;
Für Sendeports oder Orchestrierungen, die nur gültige Nachrichten verarbeiten sollen, schließen Sie dagegen "ANDMicrosoft . Solutions.A4SWIFT.Property.A4SWIFT_Failed == false" als -Klausel in ihren Filterausdrücken.
Hinweis
Wenn sich Abonnements überschneiden, werden A4SWIFT alle Abonnements erfüllen. Das heißt, wenn mehr als ein Dienst (Sendeport oder Orchestrierung) Filterausdrücke aufweist, die von einer bestimmten Nachricht erfüllt werden, erhalten alle diese Dienste dieselbe Nachricht. Wenn beispielsweise ein Sendeport alle fehlerhaften Nachrichten abonniert und eine Orchestrierung nur Nachrichten mit Analysefehlern abonniert, werden beide Abonnements erfüllt, wenn A4SWIFT bei der Verarbeitung einer Nachricht Analysefehler auftreten. Achten Sie darauf, unerwünschte Überlappungen in Abonnements zwischen Diensten zu vermeiden.
Hinweis
Wenn A4SWIFT eine Nachricht empfängt und verarbeitet und diese Nachricht in der MessageBox-Datenbank veröffentlicht, die Nachricht aber kein Abonnement erfüllt, hält A4SWIFT die Nachricht mit einem BizTalk Server Fehler an, der auf fehlende Abonnenten hinweist. Wenn Sie beispielsweise einen Dienst haben, der alle Nachrichten "A4SWIFT_Failed == false" abonniert, aber keine Dienste Nachrichten abonnieren, bei denen "A4SWIFT_Failed == true" ist, werden Nachrichten, die nicht analysiert oder überprüft werden, aufgrund fehlender Abonnenten angehalten. In diesem Szenario können Sie tatsächlich das herkömmliche Anhalten fehlerhafter Nachrichten imitieren. Stellen Sie sicher, dass Sie alle Nachrichten abonnieren, die Sie nicht angehalten haben möchten. Weitere Informationen zu MessageBox-Datenbankabonnements, Sendeports, Orchestrierungen und Filterausdrücken finden Sie unter BizTalk Server Hilfe.
Dieser Abschnitt enthält die folgenden Themen: