產生外寄 AS2 訊息
AS2EDISend 和 AS2Send 傳送管線會產生外寄訊息,如下所述。 每個管線都會使用 [ 合約屬性 ] 對話方塊的 [單向合約] 索引標籤中的屬性來產生傳出 AS2 訊息。
合約、目的地和 MessageID 判斷
AS2 傳送管線會判斷傳送 AS2 訊息時要使用的協議和目的地,如下所述:
為了判斷處理外寄訊息時使用的協議,AS2 編碼器會嘗試比對訊息中的 AS2-To 屬性與合作對象商務設定檔的 AS2Identity,或是比對訂閱訊息的傳送埠與協議的相關聯傳送埠。 如需此程式的詳細資訊,請參閱 外寄 AS2 訊息的合約解析。
為判斷訊息的目的地,動態傳送埠中的傳送管線會使用 OutboundTransportLocation 屬性,該屬性必須由後端應用程式撰寫或升級至內容,動態傳送埠才能運作。 靜態傳送管線中的傳送管線將根據 AS2 協議屬性中的 AS2-From 屬性,以及商務設定檔屬性的識別判斷目的地。
AS2 編碼器必須設定外寄 AS2 訊息的 MessageId 標頭。 傳送管線會從
EdiIntAS.MessageId
內容屬性或HTTP.UserHttpHeaders
內容屬性判斷 MessageId。 如果同時設定這兩個內容屬性,編碼器會使用內容屬性中的HTTP.UserHttpHeaders
值。 如果兩個屬性都未設定,則傳送管線會自動產生 MessageID 的值。
外寄訊息處理
AS2 傳送管線處理外寄 AS2 訊息時採取的步驟如下所示:
如果已在協議屬性中啟用 AS2 訊息的不可否認性,就以原生格式複製訊息並將複本儲存在不可否認性資料庫中。
AS2 編碼器會將 HTTP (和 AS2) 標頭建置到內容屬性中
HTTP.UserHttpHeaders
。 如需此程式的詳細資訊,請參閱 透過 AS2 傳送外寄 EDI 訊息的傳送端處理。HTTP.UserHttpHeaders
寫入內容。壓縮外寄訊息 (如已啟用)。
執行 MIME 處理,包括在 訊息 中啟用時加密訊息 (如果訊息應加密合約屬性) ,並在訊息中啟用時套用數位簽章 (,) 。 AS2Send 管線會根據協議設定,使用 SHA1 或 MD5 來套用簽章。
如果已在協議屬性中啟用傳輸檔案名稱,便建立包含指定值的 Content-Disposition MIME 標頭。
以連線格式) 建立加密訊息 (複本,並在合約屬性中 啟用輸出編碼 AS2 訊息的 NRR 中啟用時,將複本儲存在非否認性資料庫中。
如果必須使用 MDN,則計算 MIC 值並將它儲存到資料存放區。
將訊息傳遞至 HTTP 配接器,該配接器會從 UserHTTPHeaders 內容屬性將標頭寫入至外寄 AS2 訊息。
如果需要可靠的傳訊,就會重新傳送訊息,直到接收 MDN 為止。