Freigeben über


Verarbeiten einer eingehenden MDN-Nachricht

Die AS2-Empfangspipelines (AS2EDIReceive und AS2Receive) verarbeiten einen eingehenden MDN basierend auf den Vertragseigenschaften für die Partei als AS2-Nachrichtenempfänger. BizTalk Server korreliert den MDN automatisch mit der ausgehenden AS2-Nachricht.

Jede Pipeline führt dabei die folgenden Schritte aus:

  • Bestimmt die sendende Partei durch Abgleich des AS2-From Werts im AS2-Header der Nachricht mit dem Wert für AS2-From Liste auf der Seite Bezeichner auf der Registerkarte unidirektionale AS2-Vereinbarung des Dialogfelds Vereinbarungseigenschaften . Wird keine Übereinstimmung gefunden, bricht die Pipeline die Verarbeitung ab und löst eine Ausnahme aus.

  • Heraufstufen der folgenden AS2-Eigenschaften in den Kontext:

    • IsAS2FailedMessage

    • DispositionType

    • GenerateAsynchronous200OKOnly

    • IsAS2MdnResponseMessage

    • IsAS2MessageSigned

    • OriginalMessageId

    • ReceivedContentMic

    • DispositionMode

    • MessageId

  • Festlegen der Eigenschaft InboundHttpHeaders auf alle HTTP-Header der Nachricht und Heraufstufen der Eigenschaft in den Kontext der Nachricht.

  • Erstellen einer Kopie der MDN-Nachricht (im Format Wire) und Speichern der Kopie in der Nichtabstreitbarkeits-Datenbank (der EdiMessageContent-Tabelle der BizTalkDTADb-Datenbank), wenn dieser Vorgang in den Eigenschaften der unidirektionalen AS2-Vereinbarung aktiviert ist.

  • Ausführen der MIME-Verarbeitung einschließlich Überprüfung der Signatur, wenn die MDN-Nachricht signiert war.

  • Vergleichen der Nachrichtenintegritätsprüfung (Message Integrity Check, MIC) in der MDN-Nachricht mit der Nachrichtenintegritätsprüfung im Datenspeicher, die durch die AS2Send-Pipeline beim Senden der ursprünglichen Nachrichten berechnet wurde (sofern anwendbar). Weitere Informationen finden Sie unter MDN-Nachrichten.

  • Erstellen von Korrelationseinträgen in der Nichtabstreitbarkeits-Datenbank.

  • Löscht den MDN, es sei denn, die Eigenschaft Verarbeiten eingehender MDN in MessageBox für Routing-/Übermittlungsoptionen ist auf der Seite Absender-MDN-Einstellungen auf der Registerkarte unidirektionale AS2-Vereinbarung des Dialogfelds Vereinbarungseigenschaften festgelegt.

  • Wenn die Eigenschaft Verarbeiten eingehender MDN in MessageBox für Routing-/Übermittlungsoptionen auf der Seite Absender-MDN-Einstellungen der Registerkarte One-Way AS2-Vereinbarung des Dialogfelds Vereinbarungseigenschaften festgelegt ist, leitet die Empfangspipeline den MDN im Drahtformat über den AS2-Decoder als Passthroughmeldung weiter und legt es in das MessageBox-Objekt ab. Die MDN-Nachricht im Format Wire enthält alle HTTP-Header.

    Hinweis

    Sie können einen Sendeport so einrichten, dass er eine empfangene MDN-Nachricht abonniert, die in der MessageBox-Datenbank abgelegt wurde. Um den empfangenen MDN zu abonnieren, legen Sie den Sendeportfilter auf fest IsAS2MdnResponseMessage==True.

    Hinweis

    Wenn Sie die AS2EdiReceive-Pipeline zum Verarbeiten eines empfangenen MDN verwenden, können Sie den MDN nicht in messageBox weiterleiten, indem Sie auf der Seite Absender-MDN-Einstellungen der registerkarte One-Way AS2-Vereinbarung des Dialogfelds Vereinbarungseigenschaften die Eigenschaft Eingehenden MDN in MessageBox für Routing-/Übermittlungsoptionen festlegen. Ein solcher Versuch führt zu einem EDI-Fehler, weil die MDN-Nachricht an den EDI-Decoder übergeben wird, der keine MDN-Nachrichten verarbeiten kann. Wenn die MDN-Nachricht nicht an die MessageBox-Datenbank gesendet wird, verarbeitet AS2Decoder die MDN-Nachricht, und sie wird nicht an den EDI-Decoder übergeben.

Nachrichtenintegritätsprüfung

Die Nachrichtenintegritätsprüfung (Message Integrity Check, MIC) wird zum Bestätigen verwendet, dass eine Korrelation zwischen einer MDN-Nachricht und der ursprünglichen gesendeten Nachricht besteht. Die AS2Send-Sendepipeline berechnet die Nachrichtenintegritätsprüfung aus der Nachrichtennutzlast, wenn die ursprüngliche AS2-Nachricht generiert wird, und speichert die Nachrichtenintegritätsprüfung im Datenspeicher. Wenn eine MDN-Nachricht erforderlich ist, generiert der Empfänger der ursprünglichen Nachricht eine Nachrichtenintegritätsprüfung und fügt diese der MDN-Nachricht hinzu. Wenn die AS2MdnReceive-Empfangspipeline eine MDN-Nachricht empfängt, wenn eine signierte MDN-Nachricht angefordert wurde, wird die Nachrichtenintegritätsprüfung in der MDN-Nachricht mit der Nachrichtenintegritätsprüfung im Datenspeicher verglichen.

Eine fehlende Übereinstimmung zwischen der Nachrichtenintegritätsprüfung in der MDN-Nachricht und der Nachrichtenintegritätsprüfung im Datenspeicher weist darauf hin, dass während der Übertragung oder des Empfangs der Nachricht durch die empfangende Partei ein Fehler aufgetreten ist. Die bei einem solchen Fehler gemeldeten Werte lauten folgendermaßen:

  • AS2DispositionType: Fehler

  • AS2DispositionModifierExtensionType: Fehler

  • AS2DispositionModifierExtensionDescription: Integritätsprüfung ist fehlgeschlagen

Weitere Informationen

Empfangen von AS2-Nachrichten in BizTalk Server
MDN-Nachrichten