閱讀英文

共用方式為


MDN 訊息

「訊息處理通知」(MDN) 是為了回應 AS2 訊息而傳送的通知。 如果已啟用 MDN,則必須等到接收及驗證 MDN 之後,AS2 傳輸才算完成。 即使處理 AS2 訊息時發生錯誤,BizTalk Server 也一定會嘗試傳回 MDN,以指出訊息處理的狀態。

MDN 提供下列驗證:

  • 接收者已成功接收原始訊息。 原始訊息的傳送者會比較原始傳送訊息的 MessageID 與接收者包含在 MDN 中的原始訊息識別碼欄位,以驗證這一點。

  • 接收夥伴已驗證交換資料的完整性。 原始訊息的傳送者會比較從原始傳送訊息內容計算得出的 MIC,以及接收者在所接收訊息內容上計算所得並包含在 MDN 之 Received-content-MIC 欄位 (若已簽署) 的 MIC,以驗證這一點。

  • 有一個不可撤銷的收據。 傳送者採用的方式是使用接收端夥伴的公用金鑰驗證簽署的 MDN,並確認 MDN 中傳回的 MIC 值與儲存在不可否認性資料庫中的原始訊息內容 MIC 相同。

    注意

    同步的 MDN 可做為 HTTP 回應,例如 200 OK。

    注意

    如需 MDN 接收端處理的詳細資訊,請參閱 處理傳入 MDN。 如需 MDN 傳送端處理的詳細資訊,請參閱 傳送傳出 MDN

用來產生 MDN 的屬性

如果 [合約屬性] 對話方塊中的 [使用合約設定驗證和 MDN 而非訊息標頭屬性] 索引標籤上選取了 AS2 合約屬性,AS2Receive 接收管線就會使用合作物件的 AS2 合約屬性產生 MDN。 在這種情況下,接收管線將會使用訊息標頭中的 AS2-Form 屬性來產生 MDN,但是其他屬性則取自合作對象的 AS2 協議設定。

如果沒有選取覆寫 AS2 屬性的選項,或者無法使用合作對象 AS2 協議,接收管線將會使用內送訊息中的 AS2 標頭標記來產生 MDN。

MDN 可以簽署,但是無法加密或壓縮。

MDN 內容屬性

處理 MDN 訊息時使用的內容屬性包括可以升級的屬性,以及雖然不公開但是可以在擱置和追蹤訊息中檢視的屬性。 如需這些內容屬性的清單,請參閱 AS2 內容屬性

DispositionMode 和 DispositionType 兩個內容屬性必須同時升級,才能產生 MDN。 如果 AS2 或 EDI 內容出現錯誤,DispositionType 屬性將會指出該項錯誤。 您可以在 [訊息詳細資料] 對話方塊的 [訊息詳細資料] 對話方塊中,透過 [服務詳細資料] (對話方塊) 從 [BizTalk Server 管理主控台] 的 [群組中樞] 頁面中的 [暫停的服務實例]) 顯示此屬性。 如果標頭發生錯誤,BizTalk Server 會在 DispositionType 屬性中指出這項錯誤,而且會嘗試傳送 MDN,但是也可能因為錯誤的不同,而無法這樣做。

MDN 標頭

MDN 包含下列標頭:

  • HTTP/AS2 標頭。 如需詳細資訊,請參閱 AS2 訊息

  • 傳輸層。 這包括 Content-Type 標頭 (內含已簽署的多部分訊息)、MIC 的演算法、簽章格式通訊協定,以及最外層多部分界限子標頭。

  • 第一個部分。 多部分簽署訊息的第一個部分是內嵌的 MDN。 這個部分可由人工判讀。

  • 第二個部分。 多部分簽署訊息的第二個部分包含數位簽章、原始訊息的參考、配置類型和狀態,以及 MIC 值。 這個部分可由電腦判讀。

    AS2-From 標頭、AS2-To 標頭和 MessageID 內容屬性可用來讓 MDN 與其回應的 AS2 訊息產生關聯。 MDN 中的 Original-Message-ID 標頭則來自 MDN 回應之 AS2 的 Message-ID 標頭。

MIC

訊息完整性檢查 (MIC) 是用來確認 MDN 有和原始傳送的訊息內容相互關聯。 MIC 摘要包含在多部分簽署 MDN 訊息第二個部分的 Received-Content-MIC 延伸模組欄位中。

如果已啟用 MDN,在 AS2 傳送管線處理輸出訊息時,它會根據訊息內容計算 MICHashValue。 傳送管線會將雜湊值儲存在 BizTalkMsgBoxDb 資料庫的 EdiInt_Mic 資料表中。 AS2 訊息是在這個資料表中加以追蹤,以 AS2From、AS2To 和 MessageID 等值,連同伴隨的 MICHashValue 資料行,做為其唯一識別。 訊息接收者會在處理訊息內容時計算 MIC 雜湊值,並將雜湊值包含在其所傳回的 MDN 中。 原始訊息的傳送者將會比較其接收之 MDN,以及其所儲存的雜湊值。 如果兩者相符,它就會處置 MDN,並刪除 EdiInt_Mic 資料表中的項目,以完成傳輸作業。

MIC 使用 Base64 編碼。 套用至 MIC 的演算法可以是 SHA1 或 MD5。 如果 [要求籤署的 MDN] 屬性) 已核取 [傳送者 MDN 設定] 頁面的 [單向合約屬性] 對話方塊的 [單向協定] 索引標籤的 [傳送者 MDN 設定] 頁面,則會從 [簽署演算法] 下拉式清單 (加以決定。 它也會根據原始訊息的 Signed-Receipt-MICalg AS2 標頭來決定。

另請參閱

AS2 訊息
處理內送 MDN
傳送外寄 MDN