Share via


逐步解說 (X12):接收批次 EDI 交換

本逐步解說提供一組逐步程式,可建立使用 BizTalk Server 接收 EDI 批次的解決方案。 這個解決方案示範了兩種接收批次 EDI 交換的方法。

  • 透過將批次分割為其構成交易集。

  • 透過保留交換,做法是以單一文件的方式處理交換而不分割交易集。

    本逐步解說示範如何同時設定分割和保留批次。

必要條件

您必須以 BizTalk Server Administrators 或 BizTalk Server B2B 操作員群組的成員身分登入。

解決方案如何分割收到的 EDI 批次

當您設定解決方案以便將批次交換分割為其組成交易集時,解決方案將會執行下列作業:

  1. 接收位置從合作對象接收包含多個交易集的批次 EDI 交換。

    注意

    這份清單中的事件可能不會按照所示的順序發生。

  2. 接收管線將收到的交換分割為其組成交易集,並將交易集轉換成內部 XML 格式。

  3. 接收管線將整個交易和群組標頭升級至每個從交換分割出來的交易集內容中。 此外還會升級特定交換和群組標頭,例如 ISA6、GS1 和 GS2,如此就能使用這些欄位進行路由。

  4. 接收管線將每個交易集 XML 檔案放入 MessageBox 中。

    注意

    在這個解決方案中,批次中包含相同訊息類型的多個執行個體。

  5. 傳送埠透過訂閱適當的內容屬性來收取每個交易集。

  6. 傳送管線將每個交易集建置成 EDI 交換,然後將交換傳送至目的地。

    注意

    如需如何在批次中分割交易集BizTalk Server的詳細資訊,請參閱分割批次 EDI 交換

    下圖顯示設定解決方案以分割批次交換中的交易集時,該解決方案的架構和訊息流程。

    分割批次的 EDI 交換

解決方案如何保留收到的 EDI 批次

當您設定解決方案以保留批次交換時,解決方案將會執行下列作業:

  1. 接收位置從合作對象接收包含多個交易集的批次 EDI 交換。

  2. 接收管線處理交換但不分割交易集,並將兩個交易集視為一個單位轉換成內部 XML 格式。

  3. 接收管線升級相同的屬性,如同交換不是批次的情況一樣,唯一的不同是它會在產生的 XML 上套用保留標記。 此標記是 < X12InterchangeXml > 用於 X12 編碼的 EDI 交換,或 < EdifactInterchangeXml > 用於 EDIFACT 編碼的 EDI 交換。 EDI 接收管線也會套用內容屬性 ReuseEnvelope ,以將交換識別為保留。

    注意

    EDI 傳送管線會使用 < X12InterchangeXml > 或 < EdifactInterchangeXml > 標記,將訊息識別為保留的批次。 ReuseEnvelopecoNtext 屬性可讓您建立傳送埠,以訂閱保留的所有批次交換。

  4. 接收管線會將訊息 XML 檔案卸載至 MessageBox。

  5. 傳送埠透過訂閱適當的內容屬性來收取交換。

  6. 傳送管線將 XML 檔案中的兩個交易集建置成批次 EDI 交換,然後將交換傳送到目的地。

    注意

    如需BizTalk Server如何處理保留批次的詳細資訊,請參閱保留接收的批次 EDI 交換

本解決方案中的功能

為了完成這個逐步解說,將會啟用下列功能:

  • 這個解決方案是專為使用 X12 編碼 (而非 EDIFACT 編碼) 的交換所設計。

    注意

    用於 HIPAA 與 EDIFACT 編碼的組態,與用於 X12 編碼的組態近乎相同。

  • 將不會傳回技術或功能通知,以回應原本收到的交換或任何傳送的批次交換。

    注意

    如需產生 EDI 通知的詳細資訊,請參閱 逐步解說 (X12) :接收 EDI 交換和傳回通知

  • 這個解決方案會使用單向接收埠和靜態單向傳送埠, 因此會將這些連接埠設定為 FILE 傳輸類型。

  • 將會啟用 EDI 報告。

  • 將會儲存交易集,以從交換狀態報告中檢視交易集。

  • 為了測試目的,解決方案會使用傳送埠將分割的交換或保留批次傳送至本機資料夾。

設定和測試逐步解說

這個解決方案所需的程序包含下列步驟:

  • 將必要的訊息結構描述加入 BizTalk 專案,然後建置並部署此專案,因此 BizTalk Server 可以使用此結構描述處理訊息。

  • 為BizTalk Server建立接收埠,以接收來自合作物件的 EDI X12 編碼 .txt 批次輸入訊息。

  • 建立傳送埠,供 BizTalk Server 利用批次中收到的每個交易集來建置交換 (如果分割批次的話),或是使用接收之批次中的交易集來建置單一交換 (如果保留批次的話)。 接著傳送埠會將交換傳送至目的合作對象。 此傳送埠將是靜態單向傳送埠。

  • 為合作對象 A 與合作對象 B 建立合作對象 (交易夥伴)。

  • 分別為兩個交易夥伴建立商務設定檔。

  • 透過分割或保留交換,設定 EDI 屬性以接收訊息,在兩個設定檔之間建立協議。

  • 將一個批次 EDI 交換放入與接收位置關聯的本機資料夾。 接著您可以確認 BizTalk Server 是否已將接收之批次中的個別交換 (如果分割批次的話) 或單一保留的批次交換 (如果保留批次的話) 放入與傳送埠關聯的資料夾中。

    注意

    如果您已經執行傳送批次交換逐步解說中的步驟,可以使用來自該解決方案的輸出做為此解決方案的輸入。 該解決方案的輸出是兩則 850 訊息的批次。 如需詳細資訊,請參閱 逐步解說 (X12) :傳送批次 EDI 交換

    本節說明設定逐步解說的程序。

若要部署訊息結構描述
  1. 在 Visual Studio 中,建立或開啟 BizTalk 專案。

    注意

    本主題假設您已經在「BizTalk EDI 應用程式」中加入了自己應用程式的參考 (包含 EDI 結構描述、管線和協調流程), 如果沒有,請參閱將參考新增至 BizTalk Server EDI 應用程式

  2. 以滑鼠右鍵按一下您的專案,指向 [ 新增],然後按一下 [ 現有專案]。 < 移至 drive > :\Program Files\Microsoft BizTalk Server 2009\XSD_Schema\EDI\X12\00401,然後按兩下對應至測試訊息的架構。

    注意

    如果 EDI 架構尚未解壓縮到XSD_SchemaEDI資料夾中,請執行 XSD_SchemaEDI 資料夾中的MicrosoftEdiXSDTemplates.exe 檔案,將架構解壓縮到預設資料夾。

    注意

    針對測試訊息,您可以使用傳送批次交換逐步解說中解決方案所產生的批次交換。 該解決方案的輸出是兩個用於「EDI 介面開發人員」教學課程之 850 範例訊息執行個體的批次。 如果您這樣做,則必須使用位於 \Program Files (x86) \Microsoft BizTalk Server < VERSION > SDKEDI Interface Developer TutorialInbound_EDI 中的架構 x12_00401_850.xsd。

  3. 設定組件金鑰檔案,然後建置並部署組件。

建立單向接收埠以接收要批次處理的 EDI 訊息
  1. 在 BizTalk Server 管理主控台中,以滑鼠右鍵按一下BizTalk 應用程式 1節點下的 [接收埠] 節點,指向 [新增],然後按一下[單向接收埠]。

  2. 將接收埠命名為 ,然後按一下主控台樹中的 [ 接收位置 ]。

  3. 按一下 [新增]

  4. 將接收位置命名為 ,針對[類型] 選取[FILE],然後按一下 [設定]。

  5. 輸入 [接收] 資料夾的資料夾,以及 [ 檔案遮罩] 的遮罩,例如 *.txt

  6. 按一下 [確定]。

  7. 針對 [接收管線],選取 [EdiReceive]。

  8. 按一下 [確定]。

  9. 在主控台樹中,按一下 [ 接收位置]。 在 [ 接收位置] 窗格中,以滑鼠右鍵按一下您的接收位置,然後按一下 [ 啟用]。

若要建立靜態單向傳送埠以傳送批次 EDI 交換
  1. 在 BizTalk Server 管理主控台中,以滑鼠右鍵按一下BizTalk 應用程式 1節點下的 [傳送埠] 節點,指向 [新增],然後按一下 [靜態單向傳送埠]。

  2. 在 [ 傳送埠屬性 ] 對話方塊中,將傳送埠命名為 。

  3. 在 [傳輸]區段中,針對[類型] 選取[FILE],然後按一下 [設定]。

  4. 輸入 目的地資料夾的資料夾,以及 檔案遮罩的遮罩,例如 *.txt

  5. 按一下 [確定]。

  6. [傳送管線]中,選取 [EdiSend]。

  7. 在主控台樹中,選取 [ 篩選]。 在 [ 篩選] 頁面上,輸入篩選運算式,以訂閱批次中的訊息。 例如,選取[BTS]。Property== Operator 的 ReceivePortName,以及您剛才針對Value建立的接收埠名稱。

  8. 按一下 [確定]。

  9. 在主控台樹中,按一下 [ 傳送埠]。 在 [ 傳送埠] 窗格中,以滑鼠右鍵按一下您的傳送埠,然後按一下 [ 開始]。

為合作對象 A 建立合作對象與商務設定檔
  1. 以滑鼠右鍵按一下 [BizTalk Server管理主控台] 中的 [合作物件] 節點,指向 [新增],然後按一下 [合作物件]。

  2. 在 [ 名稱 ] 文字方塊中輸入合作物件的名稱,然後按一下 [ 確定]。

    注意

    選取 [本機 BizTalk 處理由合作物件 OR 接收的訊息支援從此合作物件傳送訊息] 核取方塊,您可以指定所建立的合作物件適用于同時裝載BizTalk Server的相同組織。 據此,建立協議時將會啟用或停用某些屬性。 不過,就本逐步解說而言,您可以讓這個核取方塊保持選取狀態。

  3. 以滑鼠右鍵按一下合作物件名稱,指向 [ 新增],然後按一下 [商務設定檔]。

  4. 在 [配置檔案屬性]對話方塊的 [一般] 頁面上,于 [名稱] 文字方塊中輸入PartyA_Profile

    注意

    當您建立合作對象時,會同時建立設定檔。 您可以重新命名再使用該設定檔,而不需建立新設定檔。 若要重新命名設定檔,請以滑鼠右鍵按一下設定檔,然後選取 [ 屬性]。 在 [ 一般 ] 頁面中,指定設定檔的名稱。

若要為 Party B 建立合作對象與商務設定檔
  1. 以滑鼠右鍵按一下 [BizTalk Server管理主控台] 中的 [合作物件] 節點,指向 [新增],然後按一下 [合作物件]。

  2. 在 [ 名稱 ] 文字方塊中輸入合作物件的名稱,然後按一下 [ 確定]。

    注意

    選取 [本機 BizTalk 處理由合作物件 OR 接收的訊息支援從此合作物件傳送訊息] 核取方塊,您可以指定所建立的合作物件適用于同時裝載BizTalk Server的相同組織。 據此,建立協議時將會啟用或停用某些屬性。 不過,就本逐步解說而言,您可以讓這個核取方塊保持選取狀態。

  3. 以滑鼠右鍵按一下合作物件名稱,指向 [ 新增],然後按一下 [商務設定檔]。

  4. 在 [配置檔案屬性]對話方塊的 [一般] 頁面上,于 [名稱] 文字方塊中輸入PartyB_Profile

    注意

    當您建立合作對象時,會同時建立設定檔。 您可以重新命名再使用該設定檔,而不需建立新設定檔。 若要重新命名設定檔,請以滑鼠右鍵按一下設定檔,然後選取 [ 屬性]。 在 [ 一般 ] 頁面中,指定設定檔的名稱。

在兩個商務設定檔之間建立協議
  1. 以滑鼠右鍵按一下 PartyA_Profile,指向 [ 新增],然後按一下 [ 合約]。

  2. 在 [ 一般屬性] 頁面的 [ 名稱] 文字方塊中,輸入合約的名稱。

  3. 從 [ 通訊協定 ] 下拉式清單中,選取 [X12]。

  4. 在 [ 第二個合作夥伴] 區段中,從 [ 名稱 ] 下拉式清單中,選取 [PartyB]。

  5. 在 [ 第二個合作夥伴] 區段中,從 [ 設定檔 ] 下拉式清單中,選取 [PartyB_Profile]。

    您會注意到兩個新的索引標籤會在 [ 一般 ] 索引標籤旁邊新增。每個索引標籤都用於設定單向合約,而每個單向合約都代表訊息 (的完整交易,包括訊息傳輸和通知傳輸) 。

  6. 在 [ 一般 ] 索引標籤的 [ 一般屬性] 頁面上的 [ 一般主機設定 ] 區段中,選取 [ 開啟報告],然後選取 [儲存報告訊息承載以進行報告]。

  7. [PartyA-PartyB > ] 索引卷 標上執行下列工作。

    1. 在 [交換設定] 區段下的 [識別碼]頁面上,輸入限定詞和識別碼欄位的值, (ISA5、ISA6ISA7ISA8) ,這些欄位會對應至測試訊息中這些標頭欄位的值。

      注意

      BizTalk Server需要傳送者和接收者的限定詞和識別碼欄位,才能執行合約解析。 它會比對交換標頭中 ISA5ISA6ISA7ISA8 的值,以及合約屬性中的值。 BizTalk Server也會比對傳送者限定詞和識別碼 (來解決合約,而不需接收者限定詞和識別碼) 。 如果BizTalk Server無法解決合約,則會使用後援合約屬性。

      注意

      如果您使用 「EDI 介面開發人員教學課程」 中的 SamplePO.txt 檔案作為測試訊息,請將 ISA5 設定為 ZZISA6 設定為 它們ISA7 設定為 ZZ,並將 ISA8 設定為 US

    2. 在 [交換設定] 區段下的 [驗證] 頁面上,確定未核取[檢查重複的 ISA13] 選項。

      注意

      清除 檢查重複 ISA13 屬性可讓您接收相同訊息的多個實例。

    3. 在 [交換設定] 區段下的[字元集和分隔符號] 頁面上,選取CR LF選項。

    4. 在 [交換設定] 區段下的 [本機主機設定] 頁面上,于 [輸入訊息處理選項] 方塊中,選取 [分割交換為交易集 - 暫停錯誤時的交易集]選項。

      注意

      我們在此解決方案中,一開始會選取此選項,來分割交換。 稍後,在測試以下 逐步解 說程式的一部分,我們將設定解決方案來保留交換。

    5. 在 [交換設定] 區段下的 [傳送埠] 頁面上,建立您稍早建立的傳送埠關聯。 在 [ 傳送埠 ] 方格的 [ 名稱] 資料行底下,按一下空白資料格,然後從下拉式清單中選取傳送埠。

    6. 在 [交易集設定] 區段下的[信封]頁面上,輸入方格第一行中所有資料行的值。

      使用 作法
      預設值 選取 [預設]。 注意:當您選取此資料列做為預設值時,即使交易類型版本/版本目標命名空間的值與訊息不符,也會使用GS1、GS2GS3、GS7GS8的值。
      交易類型 選取測試訊息的訊息類型 850 - 採購單
      版本/版次 輸入 EDI 版本 00401
      目標命名空間 請選取 http://schemas.microsoft.com/Edi/X12>
      GS1 確認已選取測試訊息的訊息類型 ,PO - 採購單 (850)
      GS2 輸入應用程式寄件者的值,例如 購買
      GS3 輸入應用程式接收器的值,例如 OrderControl
      GS4 選取您想要的日期格式。 注意: 您必須在下拉式清單中選取值,而不只是按一下欄位中以顯示預設值。 如果您按一下欄位而未從下拉式清單中選取值,實際上不會選取值。
      GS5 選擇您要的時間格式。
      GS7 選取 [X - 認證標準委員會 X12]。
      GS8 確認已輸入 EDI 版本 00401

      注意

      BizTalk Server會根據針對交易類型版本/版本目標命名空間輸入的值,設定 GS01、GS02、GS03、GS04、GS05、GS07 和 GS08 的值。 傳送管線會嘗試將交易集類型、X12 版本和目標命名空間,與訊息標頭中的對應值進行比對。 如果成功,它會使用與 交易類型版本/發行目標命名空間 值相關聯的 GS 值。

  8. [PartyB-PartyA > ] 索引標籤上執行下列工作。

    注意

    在此逐步解說中,我們在索引標籤中指定必要值,以便可以順利地建立協議。 若要成功建立合約,這兩個單向合約索引標籤都必須定義ISA5、ISA6ISA7ISA8的值。

    1. 在 [交換設定] 區段下的 [識別碼]頁面上,輸入符合測試訊息中這些標頭欄位值的限定詞和識別碼欄位 (ISA6ISA7 和 ISA8) 。

      注意

      如果您使用「EDI 介面開發人員教學課程」中的 SamplePO.txt 檔案作為測試訊息,請將ISA5設定為 ZZ、ISA6設為USISA7設為ZZ,並將ISA8設定為它們

  9. 按一下 [套用]。

  10. 按一下 [確定]。 新增的合約會列在[合作物件和商務設定檔] 窗格的 [合約] 區段中。 預設會啟用新增的協議。

測試逐步解說

本節提供關於如何測試逐步解說的資訊。

若要測試逐步解說

  1. 在 [Windows 檔案總管] 中,開啟與接收位置相關聯的本機資料夾,將測試批次 EDI 交換放置在該資料夾中。

    注意

    針對測試訊息,您可以使用傳送批次交換逐步解說中解決方案所產生的批次交換輸出。 此範例訊息包含兩個交易集。

  2. 開啟與先前建立之傳送埠相關聯的資料夾。 確認資料夾中包含兩個新檔案,而且每個檔案都是 850 交換,內含測試批次訊息中的其中一個交易集。

  3. 在 [BizTalk Server管理主控台] 中,按一下 [合作物件] 節點,按一下屬於稍早建立之合約一部分的兩個商務設定檔中的任何一個。 在 [ 合約] 區 段中,以滑鼠右鍵按一下合約,然後按一下 [ 屬性]。

  4. 在 [合約屬性] 對話方塊的 [交換設定] 區段下的 [本機主機設定] 頁面上,于 [輸入訊息處理選項] 方塊中,選取 [保留交換 - 在錯誤時暫停交換] 或 [保留交換 - 在錯誤時暫停交易集],然後按一下 [確定]。

  5. 按一下[平臺設定] 節點下的 [主機實例],以滑鼠右鍵按一下[BizTalkServerApplication],然後按一下 [重新開機]。

  6. 在 Windows 檔案總管中,開啟與接收位置相關聯的本機資料夾,然後再次將相同的測試批次 EDI 交換放入該資料夾中。

  7. 在 [Windows 檔案總管] 中,開啟與先前建立之傳送埠相關聯的資料夾。 確認資料夾中現在只包含一個新檔案,而且該檔案是交換,內含測試批次訊息中的兩個 850 交易集。

另請參閱

開發和設定 BizTalk Server EDI 解決方案
分割批次 EDI 交換
分割 HIPAA 子文件
保留收到的批次處理 EDI 交換
逐步解說 (X12):傳送批次 EDI 交換
逐步解說 (X12):接收 EDI 交換並傳回通知
逐步解說 (X12):傳送 EDI 交換