Teilen über


Absenderseitige Verarbeitung einer ausgehenden Nicht-EDI-Nachricht über AS2

Die mit BizTalk Server ausgelieferten AS2-Pipelines können verwendet werden, um eine EDI-Nachricht oder eine Nicht-EDI-Nachricht über den AS2-Transport zu verarbeiten. Für die zwei verschiedenen Typen von Nutzlasten werden unterschiedliche Pipelines verwendet. Mithilfe der AS2EdiSend-Pipeline verarbeiten Sie ausgehende EDI-Nachrichten über AS2, und mit der AS2Receive-Pipeline empfangen Sie die zugeordnete MDN (sofern aktiviert). Mithilfe der AS2Send-Pipeline verarbeiten Sie ausgehende Nicht-EDI-Nachrichten über AS2, und mit der AS2Receive-Pipeline empfangen Sie die zugeordnete MDN (sofern aktiviert). Bei der Nicht-EDI-Nachricht kann es sich um eine beliebige binäre Nutzlast handeln.

Die AS2Send-Sendepipeline assembliert die Nicht-EDI-Nutzlast und codiert die AS2-Nachricht. Die AS2Receive-Empfangspipeline decodiert die MDN-Antwort. Sie können diese Pipelines in einen bidirektionalen HTTP-Sendeport vom Typ "Antwort anfragen" (für synchrone MDNs) oder in einen unidirektionalen HTTP-Sendeport und einen unidirektionalen HTTP-Empfangsport (für asynchrone MDNs) einschließen.

Um einen EDI-Austausch über AS2 zu senden, führt BizTalk Server die folgenden Schritte aus:

  • Verarbeiten der Nicht-EDI-Nutzlast zum Senden

  • Senden der AS2-Nachricht

  • Empfangen der zurückgegebenen MDN

Verarbeiten der Nicht-EDI-Nutzlast für das Senden

Vor dem Erstellen der AS2-Nachricht muss ein Sendeport die Nicht-EDI-Nutzlast auswählen und mithilfe eines entsprechenden Filterausdrucks die Nachrichten abonnieren. Sie können einen bidirektionalen Sendeport oder einen unidirektionalen Sendeport verwenden, je nach, ob es sich um eine synchrone oder asynchrone MDN handelt. Die AS2Send-Pipeline verarbeitet anschließend die Nicht-EDI-Nutzlast in eine AS2-Nachricht.

Senden der AS2-Nachricht

Der AS2-Encoder in der AS2-Sendepipeline führt zunächst die Vereinbarungsauflösung aus, um die Vereinbarungseigenschaften zu bestimmen, mit denen die ausgehende Nachricht verarbeitet werden soll. Weitere Informationen finden Sie unter Vereinbarungslösung für ausgehende AS2-Nachrichten.

Der AS2-Encoder erstellt den Satz von HTTP-Headern, der zum Senden einer AS2-Nachricht erforderlich ist. Es fügt diese Header der HTTP.UserHttpHeaders Kontexteigenschaft hinzu, die eine einzelne Zeichenfolge von Headerwerten ist. Vom AS2-Encoder werden die folgenden AS2-Header in HTTP.UserHttpHeaders erstellt. Diese Header müssen in den AS2-Nachrichten enthalten sein.

  • AS2-To

  • AS2-From

  • AS2-Version

  • Meldungs-ID

  • OriginalMessageID (nur für MDNs)

    Wenn die Anforderungs-MDN-Eigenschaft aktiviert ist, legt die Pipeline die AS2-Header Disposition-Notification-To, Receipt-Delivery-Option und Signed-Receipt-MICalg in der Nachricht auf die Werte in den entsprechenden Eigenschaften fest. und legt den AS2-Header Signed-Receipt-Protocol auf "pcks7-signature" fest, wenn die MDN-Eigenschaft "Request signed " aktiviert ist.

    Wenn die HTTP.UserHttpHeaders Kontexteigenschaft nicht vorhanden ist, wird sie vom AS2 Encoder erstellt. Falls HTTP.UserHttpHeaders bereits vorhanden, verwendet es der AS2-Encoder, anstatt ihn zu erstellen. Wenn Sie erstellen HTTP.UserHttpHeaders, Kopfzeilen darauf schreiben und dann in den Kontext der Nachricht schreiben, verwendet der AS2-Encoder diese Header, und sie haben Vorrang vor Headern aus anderen Quellen. Eine Ausnahme stellt der AS2-From-Header dar, der immer aus den Vereinbarungseigenschaften übernommen wird.

    Wenn sich kein AS2-Header in HTTP.UserHttpHeadersbefindet, fügt der AS2 Encoder ihn aus einzelnen Kontexteigenschaften hinzu. Dies bedeutet, dass Sie AS2-Header hinzufügen können, indem Sie sie höherstufen oder in den Kontext der Nachricht schreiben (sofern sie sich nicht bereits in HTTP.UserHttpHeadersbefinden). Wenn sich ein AS2-Header weder in HTTP.UserHttpHeadersbefindet noch als Eigenschaft im Kontext vorhanden ist, fügt der AS2 Encoder ihn aus den Vereinbarungseigenschaften zu HTTP.UserHttpHeadershinzu.

    Nachdem der AS2-Encoder die Header in der HTTP.UserHttpHeaders -Eigenschaft erstellt hat, schreibt er sie in den Kontext der Nachricht. Der HTTP-Adapter übernimmt HTTP.UserHttpHeadersund stellt die Headerwerte aus HTTP.UserHttpHeaders der Nachricht vor.

Hinweis

AS2-Transport ist ausschließlich für die Verwendung mit dem HTTP-Adapter konzipiert. Wenn Sie jedoch die entsprechenden Kontexteigenschaften manuell festlegen, Sie können AS2-Nachrichten mithilfe des FILE-Adapters transportieren. Weitere Informationen finden Sie unter Senden einer AS2-Nachricht über einen FILE-Sendeport.

Verarbeiten der zurückgegebenen MDN

Wenn eine MDN aktiviert ist, empfängt die dem bidirektionalen Sendeport zugeordnete Empfangspipeline die MDN von der Partei, die die AS2-Nachricht empfängt.

Hinweis

Weitere Informationen zur Verarbeitung, die die AS2-Sendepipelines für eingehende MDNs ausführen, finden Sie unter Senden eines ausgehenden MDNs.

Weitere Informationen

Senden von AS2-Nachrichten in BizTalk Server