共用方式為


透過 AS2 從傳送端處理外寄非 EDI 訊息

隨附于 BizTalk Server 的 AS2 管線可用來處理 EDI 訊息或透過 AS2 傳輸的非 EDI 訊息。 這兩種不同的內容類型會使用不同的管線。 您會使用 AS2EdiSend 管線來處理透過 AS2 外寄的 EDI 訊息,而使用 AS2Receive 管線接收關聯的 MDN (如果有啟用)。 您會使用 AS2Send 管線來處理透過 AS2 外寄的非 EDI 訊息,而使用 AS2Receive 管線接收關聯的 MDN (如果有啟用)。 非 EDI 訊息可以是任何二進位內容。

AS2Send 管線會組合非 EDI 內容並解譯 AS2 訊息。 AS2Receive 接收管線則會解譯 MDN 回應。 您可以將這些管線包含在 HTTP 雙向請求-回應傳送埠 (適用同步的 MDN) 中,或是單向的 HTTP 傳送埠和單向的 HTTP 接收埠 (適用非同步的 MDN) 中。

為了透過 AS2 傳送 EDI 交換,BizTalk Server 會執行下列步驟:

  • 處理要傳送的非 EDI 內容

  • 傳送 AS2 訊息

  • 接收傳回的 MDN

處理要傳送的非 EDI 內容

在建立 AS2 訊息之前,傳送埠必須使用適當的篩選條件運算式訂閱訊息,藉此選取非 EDI 內容。 根據 MDN 將會是同步或非同步而定,您可以使用雙向傳送埠或單向傳送埠。 接著 AS2Send 管線會將非 EDI 內容處理為 AS2 訊息。

傳送 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

另請參閱

BizTalk Server 如何傳送 AS2 訊息