Disassemblieren eingehender Batches
Eingehende Nachricht debatchieren
Der SWIFT-Disassembler ist in der Lage, eingehende Batches (Dateien oder Nachrichten, die mehrere SWIFT-Nachrichten enthalten) zu verarbeiten oder zu disassemblieren. Sie aktivieren die eingehende Debattierung mithilfe der Konfigurationseigenschaft des SWIFT-Disassemblers mit demselben Namen. Nachdem Sie die eingehende Debattierung aktiviert haben, erwartet der SWIFT-Disassembler, dass alle empfangenen Nachrichten Batches sind, die mehrere SWIFT-Nachrichten enthalten. Ein Batch kann einen Batchumschlag (einen Batchheader und einen Batchanhänger) enthalten, und jede einzelne SWIFT-Nachricht innerhalb eines Batches kann einen Nachrichtenumschlag (einen Nachrichtenheader und einen Nachrichtenanhänger) enthalten oder nicht. Sie können diese Batchattribute (Formate) mithilfe der folgenden SWIFT-Disassemblerkonfigurationseigenschaften konfigurieren:
Batchheaderschema
Batch-Trailerschema
Nachrichtenheaderschema
Nachrichtenanhängerschema
Hinweis
Wenn Sie eine dieser Eigenschaften auf "None" festlegen, wird angegeben, dass der eingehende Batch diesen bestimmten Teil nicht enthält.
Der SWIFT-Disassembler erwartet, dass alle eingehenden Batches die folgende Struktur aufweisen:
Batch-Header
Nachrichtenheader
SWIFT-Austausch/-Nachricht (SWIFT-Blöcke 1 bis 5)
Meldungstrailer
Batch-Trailer
Innerhalb dieser Struktur können Sie einen "Nachrichtenblock" als Die Teile "Message Header – SWIFT Interchange – Message Trailer " betrachten. Eine Reihe von mehreren "Nachrichtenblöcken" besteht aus mehreren SWIFT-Nachrichten in einem Batch. Batchheader, Nachrichtenheader, Nachrichtenanhänger und Batch-Trailer sind optional, müssen aber über Wiederholungen hinweg konsistent sein.
Hinweis
Verwechseln Sie den Nachrichtenumschlag (Nachrichtenkopf und Nachrichtenanhänger) nicht mit dem SWIFT-Header und den Trailer-Blöcken. Im Kontext von Batches sollten Sie die SWIFT-Nachricht (Austausch), einschließlich des SWIFT-Headers und der Trailerblöcke, als ganzheitliche (atomare) Einheit anzeigen. In diesem Kontext beziehen sich der Nachrichtenheader und der Nachrichtenanhänger auf den Umschlag, der jede SWIFT-Nachricht in einem Batch umschließt.
Um diese Struktur, ihre Optionen und ihre Wiederholbarkeit formaler auszudrücken, überlegen Sie, wie A4SWIFT einen Batch definiert:
Batch-Header wird durch BH dargestellt.
Der Nachrichtenheader wird durch MH dargestellt.
SWIFT Interchange wird durch SI dargestellt
Der Nachrichtenanhänger wird durch MT dargestellt.
Batch Trailer wird durch BT dargestellt.
Der Ausdruck, der die erwartete Batchstruktur darstellt, lautet wie folgt:
[BH] ([MH] SI [MT])* [BT]
Die Klammern (
[ ]
) geben an, dass das Teil optional ist. Das Sternchen (*) gibt an, dass der Block wiederholbar ist. Wer den Nachrichtenbatch erstellt, muss den Nachrichtenheader (Message Header, MH) und trailer (MT) bei jeder Wiederholung von ([MH] SI [MT]
) konsistent verwenden.Der SWIFT-Disassembler kann jeden eingehenden Batch verarbeiten, der der obigen Struktur folgt, da jeder Teil der Struktur einem Flatfileschema entspricht. Wenn Sie jedoch nicht den optionalen Batchheader/-trailer und den Nachrichtenheader/-trailer verwenden, entspricht die Nachricht diesen Schemas nicht. Daher ist für einen Batch, der nur aufeinanderfolgende SWIFT-Nachrichten enthält, die Eigenschaften Batchheaderschema, Batch Trailer Schema, Message Header Schema und Message Trailer Schema auf "None" festgelegt.
Anpassen von Schemas für die Batchverarbeitung
Sie können die Schemas für den Batchheader/Trailer und den Nachrichtenheader/Trailer anpassen. Ein Beispiel hierfür ist der folgende Batch:
4
SWIFT Message # 1
$
SWIFT Message # 2
$
SWIFT Message # 3
$
SWIFT Message # 4
$
Um diesen Batchtyp zu verarbeiten, legen Sie die Schemaeigenschaften für den Batch wie folgt fest:
Sie legen die Batch Header Schema-Eigenschaft auf ein Flatfileschema fest, das eine einzelne Zahl (Nachrichtenanzahl) analysiert, die durch Wagenrücklauf getrennt ist.
Sie legen das Nachrichtenanhängerschema auf ein Flatfileschema fest, das ein einzelnes $-Symbol und einen Wagenrücklauf analysiert.
Sie legen die verbleibenden Umschlagschemas (Batch Trailer-Schema und Nachrichtenheaderschema) auf Keine fest.
Sie können den SWIFT-Disassembler so konfigurieren, dass er jeden SWIFT-Nachrichtenbatch verarbeitet, indem Sie die entsprechende Kombination von Flatfile-Umschlagschemas erstellen und angeben. Diese Funktionalität ist sehr flexibel.
Der SWIFT-Disassembler versucht immer, die Verarbeitung eines gesamten Batches abzuschließen, auch wenn dabei Fehler auftreten. Dies ermöglicht es, so viele Fehler wie möglich gleichzeitig zu sammeln und zu melden. Um diese Heuristik "Best Effort" auszuführen, muss der SWIFT-Disassembler bestimmte Entscheidungen und Annahmen treffen, wenn das Schema ausgewählt wird, das verwendet werden soll, wenn ein neuer Teil auftritt, oder wenn ein Analysefehler auftritt. Je nach Art und Speicherort eines Analysefehlers und der Mehrdeutigkeit/Ähnlichkeit zwischen Umschlagschemas und SWIFT-Austauschschemas ist die Auswahl des richtigen Schemas nicht immer möglich. In einigen Fällen können Sie die Möglichkeit der Auswahl des falschen Schemas minimieren, indem Sie gut entworfene Umschlagschemas verwenden. Wenn beim Disassembler ein schwerwiegender Analysefehler auftritt oder der Disassembler das richtige Schema nicht ermitteln kann, schlägt der Disassembler den Batch fehl, ohne die verbleibenden Daten zu verarbeiten.
Wenn die eingehende Debatchierungaktiviert (auf True festgelegt) ist, analysiert der SWIFT-Disassembler den Batch anhand der Schemas, die für den Batchumschlag (Batchheaderschema und Batchnachspannschema) und den Nachrichtenumschlag (Nachrichtenheaderschema und Nachrichtenanhängerschema) angegeben sind, sowie das schema, das für die Analyse der SWIFT-Nachrichten (Austauschvorgänge) im Batch angegeben ist. Für die SWIFT-Nachrichten im Batch können Der Nachrichtentyp und das Schema dynamisch ermittelt und geladen werden wie einzelne Nicht-Batch-Nachrichten (durch Angabe eines SWIFT-Headerschemas). Weitere Informationen dazu, wie der SWIFT-Disassembler die Schemaauflösung ausführt, finden Sie unter Dynamische Nachrichtentypermittlung und Schemaauflösung.
Der SWIFT-Disassembler analysiert und überprüft jede SWIFT-Nachricht in einem eingehenden Batch einzeln. Es führt die folgende Batchverarbeitungssequenz aus:
Analysiert den Batchheader, wenn Sie das Batchheaderschema angegeben haben.
Analysiert den Nachrichtenumschlagheader, wenn Sie das Nachrichtenheaderschema angegeben haben.
Analysiert den SWIFT-Austausch (Nachricht).
Überprüft die SWIFT-Nachricht anhand von XML-Einschränkungen, wenn Sie die XML-Validierung aktiviert haben.
Überprüft die SWIFT-Nachricht anhand von BRE-Richtlinien (SWIFT-Netzwerk- und Nutzungsregeln), wenn Sie die BRE-Überprüfung aktiviert haben.
Analysiert den Nachrichtenumschlaganhänger, wenn das Nachrichtenanhängerschema angegeben ist.
Wiederholt die Schritte 2 bis 6, bis der Disassembler keine weiteren Nachrichten im Batch findet.
Analysiert den Batchtrailer, wenn Sie das Batch trailer-Schema angegeben haben.
Sie können den SWIFT-Disassembler konfigurieren, um verschiedene Vorgänge mit den Batchdaten auszuführen, die analysiert und überprüft werden, indem Sie die folgenden Konfigurationseigenschaften des SWIFT-Disassemblers verwenden:
Die Fragmentierungseigenschaft bestimmt, ob der SWIFT-Disassembler jede Nachricht im Batch einzeln in der MessageBox-Datenbank veröffentlichen soll (d. a. für jede Nachricht nach jedem Vorkommen von Schritt 6 oben), oder ob alle Schritte 1 bis 8 ausgeführt und dann der gesamte Batch in nativer Form veröffentlicht werden soll (exakte Kopie der Eingabe). als einzelne Nachricht an die MessageBox-Datenbank. Sie legen Fragmentierung auf True fest, um die Fragmentierung zu aktivieren und Nachrichten aus einem Batch einzeln zu veröffentlichen. Sie legen Fragmentierung auf False fest, um die Fragmentierung zu deaktivieren und den gesamten Batch in nativer Form nur nach der Verarbeitung des gesamten Batches als einzelne Nachricht zu veröffentlichen. In der Regel legen Sie Fragmentierung für Szenarien auf Deaktiviertfest, in denen Sie nur den BizTalk Accelerator for SWIFT (A4SWIFT) benötigen, um eingehende Batches zu analysieren und zu überprüfen, und entweder fehlgeschlagen oder weitergeleitet, in der gleichen Form, wie sie empfangen A4SWIFT. In Szenarien, in denen A4SWIFT Nachrichten innerhalb eines Batches nach dem Analysieren und Überprüfen transformieren oder ändern möchten, oder wenn A4SWIFT Nachrichten in einem Batch in einer anderen Reihenfolge sortieren möchten, als sie ursprünglich empfangen A4SWIFT. Außerdem legen Sie Fragmentierung für Szenarien, in denen ein eingehender Batch Nachrichten mit unterschiedlichen endgültigen Zielen enthält, auf Aktiviert fest.
Die Eigenschaft Batchheader beibehalten/Batchanhänger beibehalten bestimmt, ob der SWIFT-Disassembler die Batchumschlagdaten (Header und Anhänger) nach der Analyse verwerfen oder beibehalten soll. Wenn Sie Batchheader beibehalten oder Batch-Trailer beibehalten auf True festlegen, veröffentlicht der Disassembler den entsprechenden Batchteil (analysiertes XML) in der MessageBox-Datenbank als einzelne Nachrichten. Der Disassembler veröffentlicht die Daten im Textteil der mehrteiligen Nachricht. Der Disassembler fördert spezielle Kontexteigenschaften, sodass BizTalk Server diese Nachrichten mit dem Batch korrelieren können, von dem sie stammen, und der Ordnungsposition, an der sie sich innerhalb des Batches befanden (erste Position für Batchheader, letzte Position für Batch-Trailer). Wenn Sie Batchheader beibehalten oder Batch-Trailer beibehalten auf False festlegen, verwirft der Disassembler den entsprechenden Batchteil (analysierte Daten) nach der Analyse.
Hinweis
Diese Konfigurationseigenschaften sind nur gültig, wenn die Fragmentierung aktiviert ist (Fragmentierung auf True festgelegt). Wenn die Fragmentierung deaktiviert ist, veröffentlicht der Disassembler eine exakte Kopie des gesamten Batches in nativer Form in der MessageBox-Datenbank, sodass die Erhaltungseinstellungen irrelevant sind (alles wird beibehalten).
Mit der Eigenschaft Nachrichtenheader / beibehalten wird bestimmt, ob der SWIFT-Disassembler die Nachrichtenumschläge (Nachrichtenheader und Trailer) nach der Analyse verwerfen oder beibehalten soll. Wenn Sie Nachrichtenheader beibehalten oder Meldungsnachhänger beibehalten auf True festlegen, veröffentlicht der Disassembler den entsprechenden Batchteil (analysiertes XML) zusammen mit der einzelnen SWIFT-Nachricht, die umgebrochen wird, in der MessageBox-Datenbank. Der Disassembler veröffentlicht Nachrichtenumschlagheader im Kopfzeilenteil der mehrteiligen Nachricht. Der Disassembler veröffentlicht Nachrichtenumschlaganhänger im Anhängerteil der mehrteiligen Nachricht. Der Disassembler veröffentlicht die SWIFT-Nachricht, die im Nachrichtenumschlag im Textteil derselben mehrteiligen Nachricht enthalten ist. Der Disassembler fördert spezielle Kontexteigenschaften, sodass BizTalk Server diese Nachrichten mit dem Batch, von dem sie stammen, und der Ordnungsposition, an der sie sich innerhalb des Batches befanden, korrelieren können. Wenn Sie Nachrichtenheader beibehalten oder Meldungsnachhänger beibehalten auf False festlegen, verwirft der Disassembler den entsprechenden Batchteil (analysierte Daten) nach der Analyse.
Hinweis
Diese Konfigurationseigenschaften sind nur gültig, wenn die Fragmentierung aktiviert ist (Fragmentierung auf True festgelegt). Wenn die Fragmentierung deaktiviert ist, veröffentlicht der Disassembler eine exakte Kopie des gesamten Batches in nativer Form in der MessageBox-Datenbank, sodass die Erhaltungseinstellungen irrelevant sind (alles wird beibehalten).
Weitere Informationen zu den einzelnen Konfigurationseigenschaften sowie zu anderen Verwendungs- und Konfigurationsinformationen finden Sie unter Konfigurationseigenschaften des SWIFT-Disassemblers. Weitere Informationen zur MessageBox-Datenbankveröffentlichung und mehrteiligen Nachrichten finden Sie unter BizTalk Server Hilfe.