共用方式為


BizTalk Server 中的 EDI 處理

本主題將提供概觀,介紹在接收端與傳送端進行的 EDI 訊息處理,以及交易夥伴協議如何協助完成 EDI 訊息處理。

適用於 EDI 處理的交易夥伴協議

交易夥伴合約在 BizTalk Server 的 EDI 支援中扮演重要角色。 BizTalk Server中與 EDI 處理相關的大部分設定與系統管理功能,都是藉由在商務設定檔之間設定交易夥伴合約來執行。 協議會將在雙方合作對象所屬商務設定檔中共同的雙向訊息處理屬性收集在一起。 協議是根據針對每個商務設定檔所定義的通訊協定設定而建置。 若要在兩個商務設定檔之間實作交易夥伴協議,您需為每個會交換訊息的商務設定檔定義屬性。 您需為每個做為交換接收者和交換傳送者的商務設定檔設定屬性。 若要處理傳入訊息或產生傳出訊息,BizTalk Server必須知道其解析的合約,以及套用至訊息的架構。 如果BizTalk Server無法判斷合約,則會使用 TPM 介面中定義的屬性來進行後援交易夥伴合約。

TPM 中有兩個主要編碼通訊協定設定:一個用於 EDIFACT 屬性,一個用於 X12 屬性。 這兩組屬性近乎相同。 如需通訊協定設定的詳細資訊,請參閱 通訊協定設定。 如需合約的詳細資訊,請參閱 交易夥伴合約。 您可以在交易夥伴管理 (TPM) 使用者介面中設定通訊協定設定與交易夥伴協議。 TPM 畫面位於 BizTalk Server 管理主控台的 [合作物件] 節點中。 您不需要是開發人員,就能在 BizTalk Server 中設定 EDI 處理。

如需交易夥伴合約如何協助處理 EDI 的詳細資訊,請參閱 EDI 處理中的合約角色

EDI 接收端處理

當BizTalk Server收到 EDI 訊息時,它會處理 EDI 接收管線中的訊息。 接收管線會執行下列基本處理:

  • 查閱交易夥伴協議及判斷結構描述。

    注意

    在舊版的 BizTalk Server中,合作物件定義也包含合約定義。 因此,接收管線在查閱合作對象屬性時,會在合作對象定義內部尋找協議定義,然後據以處理訊息。 有了BizTalk Server,因為 (或交易夥伴) 與交易夥伴合約不同,所以接收管線會特別尋找交易夥伴合約。

    注意

    如果某個訊息所解析的所有目標協議都已停用,就會擱置此訊息。 此外,事件日誌也會記錄一則警告。

  • 如果單一 EDI 訊息包含多個交換,則會分割此交換,分開處理每個交換 (如果啟用此功能的話)。 如需詳細資訊,請參閱 在單一訊息中啟用多個交換的接收

  • 剖析每個 EDI 交換,並將 X12 或 EDIFACT 編碼資料轉換為 XML 文件。

  • 根據 EDI 標準、夥伴協議和訊息結構描述來驗證信封與其訊息。

  • 如果已批次處理交換,則會分割此批次交換 (包括為每個交易集建立 XML 檔案,以及升級批次處理所需的屬性) 或保留交換。

  • 產生通知。

  • 將 EDI 信封轉換為內容屬性,以及升級 EDI 處理的其他屬性。

  • 升級可控制批次處理的屬性, 這包含將解除批次的交易集傳送至多個合作對象。

    以下是您在使用 EDI 接收端處理時必須考量的一些事項:

  • 接收位置可以使用任何類型的傳輸類型。

  • 如需 EDI 接收端處理的詳細資訊,請參閱如何BizTalk Server接收 EDI 訊息

  • 如需接收管線中 EDI 反組譯程式所執行之特定處理的詳細資訊,請參閱 EDI 反組譯程式的運作方式

EDI 批次處理

如果內送訊息為已批次處理的交換,則 EDI 接收管線會根據組態將此批次交換分割為其組成交易集,或保留此批次交換。 EDIReceive 管線會使用 BatchMarker 管線元件,將要批次處理的任何交換路由傳送至批次處理協調流程或路由協調流程。

在接收端處理之後,批次處理協調流程會對交易集進行批次處理以供傳送。 批次處理協調流程會根據篩選準則、啟動範圍和釋放準則來建立批次。

如果需要將未批次處理的 EDI 交易集傳送至批次,則路由協調流程會處理這些交易集。 此時會為每個相符的批次各建立交易集的一個複本。

如需批次處理中執行之特定處理的詳細資訊,請參閱 處理傳入批次批次處理傳出 EDI 訊息

EDI 傳送端處理

當BizTalk Server產生並傳送傳出 EDI 訊息時,它會處理 EDI 傳送管線中的訊息。 傳送管線會執行下列基本處理:

  • 查閱交易夥伴協議及判斷結構描述。

    注意

    在舊版的 BizTalk Server中,合作物件定義也包含合約定義。 因此,傳送管線在查閱合作對象屬性時,會在合作對象定義內部尋找協議定義,然後據以處理訊息。 有了BizTalk Server,因為 (或交易夥伴) 的合作物件與交易夥伴合約不同,所以傳送管線會特別尋找交易夥伴合約。

    注意

    如果某個訊息所解析的所有目標協議都已停用,就會擱置此訊息。 此外,事件日誌也會記錄一則警告。

  • 序列化 EDI 訊息,並將 XML 文件轉換為 X12 或 EDIFACT 編碼資料。

  • 如果訊息資料中有些字元同時也是 X12 分隔符號,您可以設定傳送管線,以其他字元取代內容中的這些字元。

  • 如果 EDI 訊息是已批次處理的交換,在批次處理協調流程建置批次之後,傳送管線會從 BizTalk MessageBox 取用此交換。

  • 驗證外寄訊息。

  • 根據在執行階段指定的合作對象屬性或 EDI 信封屬性,建立 EDI 信封。

  • 處理接收的通知。

    以下是您在使用 EDI 傳送端處理時必須考量的一些事項:

  • 傳送埠可以使用任何類型的傳輸。

  • 如需 EDI 傳送端處理的詳細資訊,請參閱如何BizTalk Server傳送 EDI 訊息

  • 如需傳送管線中執行之特定處理的詳細資訊,請參閱 EDI 組合器的運作方式

另請參閱

BizTalk Server 中的 EDI 支援
EDI 支援問題
EDI 處理中協議的角色
BizTalk Server 如何接收 EDI 訊息
BizTalk Server 如何傳送 EDI 訊息
開發和設定 BizTalk Server EDI 解決方案