Teilen über


Disassemblierungsstufe (wiederherstellbare Austauschverarbeitung)

Austauschvorgänge werden auf der Disassemblierungsstufe in zwei Modi verarbeitet:

  • Standardmodus. Wenn die Disassemblerkomponente einer Empfangspipeline für die Durchführung einer Standarddisassemblierung konfiguriert ist, werden die in einem Austauschvorgang enthaltenen Nachrichten extrahiert, von der Empfangspipeline verarbeitet, zugeordnet und als eine transaktionale Arbeitseinheit veröffentlicht. Das bedeutet, dass entweder der gesamte Austauschvorgang und die darin enthaltenen Nachrichten vollständig verarbeitet und in der MessageBox-Datenbank veröffentlicht werden, oder dass der Austauschvorgang in die Warteschlange "Angehalten" eingefügt wird.

  • Wiederherstellbarer Modus. Wenn die Disassemblerkomponente einer Empfangspipeline für eine wiederherstellbare Austauschverarbeitung konfiguriert ist, werden die in einem Austausch enthaltenen Nachrichten unabhängig voneinander extrahiert. Erfolgreich extrahierte Nachrichten werden in der Empfangspipeline nach unten weitergegeben. Nachrichten, die in einem Austauschvorgang identifiziert, aber nicht erfolgreich extrahiert werden, werden in die Warteschlange "Angehalten" eingefügt.

Beispiele

Die folgenden Beispiele veranschaulichen Szenarien der Austauschverarbeitung.

Beispiel 1

In diesem Beispiel wird der folgende Pseudoaustauschvorgang an einen Standardempfangsspeicherort für Austauschvorgänge übermittelt. Das bedeutet, dass die Disassemblerkomponente in der Empfangspipeline für die Standardverarbeitung von Austauschvorgängen konfiguriert ist.

<Interchange>  
<Document1>...</Document1>  
<Document2 failure=”routing”>...</Document2>  
<Document3>...</Document3>  
<Document4 failure=”pipeline” recoverableError=”true”>...</Document4>  
<Document5>...</Document5>  
</Interchange>  

Dieser Austauschvorgang enthält fünf Nachrichten, die der Disassembler aus dem Austauschvorgang extrahiert. Sie werden wie folgt verarbeitet:

  • Die erste, zweite und dritte Nachricht werden durch die Pipeline weitergegeben und können veröffentlicht werden.

  • Bei der Verarbeitung der vierten Nachricht tritt in der Pipeline auf der Disassemblierungsstufe ein Fehler auf. Das führt dazu, dass alle bereits verarbeiteten Nachrichten zurückgesetzt werden, und dass die ursprüngliche Austauschnachricht als fortsetzbar angehalten wird.

    Das Ergebnis der Übermittlung:

  • Nichts wird veröffentlicht. Der ursprüngliche Austauschvorgang wird angehalten, da bei der Standardverarbeitung von Austauschvorgängen alle extrahierten Nachrichten verworfen und der ursprüngliche Austauschvorgang in der Warteschlange "Angehalten" als fortsetzbar eingefügt wird, wenn bei einer extrahierten Nachricht an einer Stelle während oder nach der Austauschverarbeitung ein Fehler auftritt.

Beispiel 2

Für dieses Beispiel wird dieselbe Austauschverarbeitung und dasselbe Weitergabeszenario wie im vorhergehenden Beispiel verwendet. Die beiden Beispiele unterscheiden sich lediglich dadurch, dass die Disassemblierungsstufe für die wiederherstellbare Austauschverarbeitung konfiguriert ist.

Die Übermittlung ergibt, dass alle einzelnen extrahierten Nachrichten verarbeitet werden und der ursprüngliche Austauschvorgang verworfen wird. Die einzelnen Nachrichten werden wie folgt verarbeitet:

  • Die erste, zweite und dritte Nachricht werden durch die Pipeline weitergegeben und können veröffentlicht werden.

  • Bei der vierten Nachricht tritt in der Disassemblierungsverarbeitung ein Fehler auf (d. h. der Fehler tritt nach dem Extrahieren auf). Die Nachricht kann angehalten werden.

  • Die fünfte Nachricht wird durch die Pipeline weitergegeben und kann veröffentlicht werden.

  • Wenn alle Nachrichten aus dem Austauschvorgang extrahiert sind, werden die Nachrichten 1, 2, 3 und 5 in der MessageBox-Datenbank veröffentlicht, und Nachricht 4 wird in die Warteschlange "Angehalten" eingefügt. Nachricht 2 wird wegen eines Fehlers beim Routing aufgrund eines nicht übereinstimmenden Abonnenten ebenfalls in die Warteschlange "Angehalten" umgeleitet.

Konfigurieren der wiederherstellbaren Austauschverarbeitung

Die wiederherstellbare Austauschverarbeitung ist eine Eigenschaft der Disassemblerkomponente einer Empfangspipeline. Nicht alle Disassemblerkomponenten ermöglichen die wiederherstellbare Austauschverarbeitung. Der BizTalk Framework-Disassembler ermöglicht diese Art der Verarbeitung beispielsweise nicht. Wenn ein Disassembler wiederherstellbare Austauschverarbeitung unterstützt, geben Sie dieses Verhalten in Pipeline Designer in Visual Studio an, wenn Sie die Disassemblerkomponente der Disassemblierungsphase der zu entwerfenden Pipeline hinzufügen. Nachdem Sie den ausgewählten Disassembler auf die Disassemblierungsphase der Pipeline gezogen haben, legen Sie die wiederherstellbare Austauschverarbeitungseigenschaft dieser Disassemblerkomponente auf fest true.

Auflösen der Partei

Bei Nachrichten, die bei der wiederherstellbaren Austauschverarbeitung erfolgreich extrahiert werden, wird die sendende Partei anhand der Partei identifiziert, die für den Empfangsport konfiguriert ist, an dem der übergeordnete Austauschvorgang empfangen wurde. Wenn bei der Auflösung der Partei bei einer aus einem Austauschvorgang extrahierten Nachricht ein Fehler auftritt, wird die Auflösung der Partei für den gesamten Austauschvorgang als fehlgeschlagen betrachtet.

Beschränkungen

  • Wenn bei einem Austauschvorgang im Disassembler ein Fehler auftritt, wird der Austauschvorgang als fortsetzbar angehalten. Wenn der Austauschvorgang jedoch administrativ fortgesetzt wird, tritt erneut ein Fehler auf, da die Fehler, die bei der Disassemblierung einen Fehler verursachen, ausschließlich auf den Inhalt des Austauschvorgangs zurückzuführen sind. Dieser ändert sich nicht, wenn der Austauschvorgang fortgesetzt wird. Ein Austauschvorgang, bei dem ein Fehler dieser Art auftritt, muss geändert und erneut über einen Empfangsspeicherort übermittelt werden.

  • Wenn beim Weitergeben einer Nachricht nach dem erfolgreichen Extrahieren aus einem Austauschvorgang im Messagingpfad aufgrund eines nicht übereinstimmenden Abonnenten ein Fehler auftritt, wird die Nachricht als fortsetzbar angehalten. Die Nachricht kann administrativ fortgesetzt werden, wenn die Ursache des Routingfehlers behoben wurde.

  • Die Disassemblerkomponente extrahiert trotz der folgenden Fehlermeldungen in Disassemblerkomponenten weiterhin Nachrichten aus einem Austauschvorgang:

    • Schema nicht gefunden

    • Schemamehrdeutigkeit nicht aufgelöst (d. h. für denselben Nachrichtentyp sind mehrere Schemas vorhanden)

    • Fehler bei der XML-Überprüfung

    • Fehler bei der Analyse der Flatfile-Datei

  • Die Disassemblerkomponente extrahiert keine Nachrichten aus einem Austausch, wenn der folgende Fehler in Disassemblerkomponenten auftritt:

    • Die Dokumentdaten sind kein gültiges XML. Das gilt für jede Dokumenteigenschaft, die zu einem Fehler bei "System.Xml.XmlReader" führt.

Weitere Informationen

Konfigurieren der Pipelinekomponente des XML-Disassemblers
Konfigurieren der Pipelinekomponente des Flatfile-Disassemblers