透過 AS2 外寄之 EDI 訊息的傳送端處理
透過 AS2 外寄之 EDI 訊息的傳送端處理的作業,包括透過 EDI 內容來傳送 AS2 訊息,以及接收 MDN 和 EDI 通知 (若已啟用)。
AS2EDISend 傳送管線會透過 HTTP/HTTPS,將組合的 EDI/AS2 訊息傳送至接收端的交易夥伴。 AS2EDIReceive 接收管線會接收為了回應 AS2 訊息而傳回的 MDN,以及為了回應 EDI 訊息而傳回的 EDI 通知。 這些管線每一個都會處理 AS2 訊息,並處理 AS2 訊息內的 EDI 內容。 您可以將這些管線包含在 HTTP 雙向請求-回應傳送埠中,或是單向的 HTTP 傳送埠和單向的 HTTP 接收埠中。
為了透過 AS2 傳送 EDI 交換,BizTalk Server 會執行下列步驟:
處理要傳送的 EDI 內容
傳送 AS2 訊息
接收傳回的 MDN
接收傳回的 EDI 通知
處理要傳送的 EDI 內容
建立 AS2 訊息之前,AS2EdiSend 管線必須先處理 EDI 交換。 如果啟用輸出批次處理,交易集將會依照 組合批次 EDI 交換中所述進行批次處理。 EDI 組合器會建立 EDI 交換,如 EDI 組合器的運作方式中所述。
傳送 AS2 訊息
AS2 傳送管線中的 AS2 編碼器會先執行協議解析,以判斷要用來處理外寄訊息的協議屬性。 如需詳細資訊,請參閱 外寄 AS2 訊息的合約解析。
AS2 編碼器會建置傳送 AS2 訊息時所需的一組 HTTP 標頭。 它會將這些標頭新增至 HTTP.UserHttpHeaders
coNtext 屬性,這是標頭值的單一字串。 AS2 編碼器會在 中 HTTP.UserHttpHeaders
建置下列 AS2 標頭。 這些標頭一定會出現在 AS2 訊息中。
AS2-To
AS2-From
AS2-Version
MessageID
OriginalMessageID (僅適用於 MDN)
如果檢查 要求 MDN 屬性,管線會將訊息中的 Disposition-Notification-To、Receipt-Delivery-Option 和 Signed-Receipt-MICalg AS2 標頭設定為對應屬性中的值;如果核取 要求籤署的 MDN 屬性,則會將 Signed-Receipt-Protocol AS2 標頭設定為 「pcks7-signature」。
HTTP.UserHttpHeaders
如果內容屬性不存在,AS2 編碼器會建立它。 如果HTTP.UserHttpHeaders
已經存在,AS2 編碼器會使用它,而不是建立它。 如果您建立HTTP.UserHttpHeaders
,請將標頭寫入其中,然後將它寫入訊息的內容,AS2 編碼器會使用這些標頭,而且它們會優先于來自其他來源的標頭。 唯一的例外是 AS2-From 標頭,它一定是取自協議屬性。如果 AS2 標頭不在
HTTP.UserHttpHeaders
中,AS2 編碼器會從單一內容屬性新增它。 這表示,如果訊息尚未在HTTP.UserHttpHeaders
) 中,您可以將 AS2 標頭升階或寫入訊息的內容 (。 如果 AS2 標頭不在 中HTTP.UserHttpHeaders
,也不會出現在 內容中做為屬性,AS2 編碼器會將它從合約屬性新增至HTTP.UserHttpHeaders
。在 AS2 編碼器在 屬性中
HTTP.UserHttpHeaders
建置標頭之後,它會將它寫入訊息的內容。 HTTP 配接器會挑選HTTP.UserHttpHeaders
,並在訊息前面加上標頭值HTTP.UserHttpHeaders
。
注意
AS2 傳輸只適用於 HTTP 配接器。 不過,如果您手動設定適當的內容屬性,也可以使用 FILE 配接器傳輸 AS2 訊息。 如需詳細資訊,請參閱 透過 FILE 傳送埠傳送 AS2 訊息。
處理傳回的 MDN
如果 MDN 已啟用,與雙向傳送埠相關聯的接收管線就會從接收 AS2 訊息的合作對象接收 MDN。
注意
如需 AS2 傳送管線在傳入 MDN 上執行之處理的詳細資訊,請參閱 傳送傳出 MDN。
處理傳回的 EDI 通知
如果 EDI 通知已啟用,與雙向傳送埠相關聯的接收管線也會從 EDI 訊息接收者接收 EDI 通知 (因為它會篩選 BizTalk EDI 通知訊息類型)。 如需詳細資訊,請參閱 處理已接收的通知。