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. FallsHTTP.UserHttpHeaders
bereits vorhanden, verwendet es der AS2-Encoder, anstatt ihn zu erstellen. Wenn Sie erstellenHTTP.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.UserHttpHeaders
befindet, 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 inHTTP.UserHttpHeaders
befinden). Wenn sich ein AS2-Header weder inHTTP.UserHttpHeaders
befindet noch als Eigenschaft im Kontext vorhanden ist, fügt der AS2 Encoder ihn aus den Vereinbarungseigenschaften zuHTTP.UserHttpHeaders
hinzu.Nachdem der AS2-Encoder die Header in der
HTTP.UserHttpHeaders
-Eigenschaft erstellt hat, schreibt er sie in den Kontext der Nachricht. Der HTTP-Adapter übernimmtHTTP.UserHttpHeaders
und stellt die Headerwerte ausHTTP.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.