共用方式為


逐步解說 (X12):接收 EDI 交換並傳回通知

本逐步解說提供一組逐步程式,可建立使用 BizTalk Server 接收 EDI 交換的解決方案。 在此解決方案中,EDI 交換是從交易夥伴 Fabrikam 傳送給另一個交易夥伴 Contoso。

必要條件

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

解決方案如何接收 EDI 交換

解決方案會執行下列動作:

注意

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

  1. 從交易夥伴 Fabrikam 接收一般檔案的 EDI 交換。

  2. 驗證 EDI 交換 (根據其結構描述)、將訊息解譯成 XML,並將訊息 XML 放置在 MessageBox 中。

  3. 產生 997 通知給接收的 EDI 交換,並將其放置在 MessageBox 中。

  4. 產生 TA1 通知給接收 EDI 交換,並將其放置在 MessageBox 中。

  5. 透過單向傳送埠拾取訊息 XML,並組合訊息 EDI 交換。

  6. 傳送 EDI 交換給 Contoso。

  7. 透過單向傳送埠收取 997 XML,並組合 997 EDI 交換。

  8. 傳送 997 交換給 Fabrikam。

  9. 透過單向傳送埠拾取 TA1 XML,並組合 TA1 EDI 交換。

  10. 傳送 TA1 交換給 Fabrikam。

此解決方案中的功能

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

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

    注意

    針對 HIPAA 使用的組態與針對 X12 編碼使用的組態近乎相同。 如需如何為 EDIFACT 建立類似解決方案的指示,請參閱逐步解說 (EDIFACT) :接收 EDI 交換和傳回通知

  • 將針對內送交換執行 EDI 類型和擴充驗證。

  • 將會產生技術和功能通知,以傳回給交換傳送者。

  • 這個解決方案使用單向接收位置與 FILE 傳輸類型。

    注意

    您可以使用雙向請求回應接收埠和位置來接收訊息,但是如果這樣做的話,就不能對接收位置使用 FILE 傳輸類型。 如需詳細資訊,請參閱 設定埠以接收 EDI 訊息和通知

  • EDI 報告將會啟用,並會儲存交易集,以從交換狀態報告進行檢視。

  • 為了測試目的,解決方案會使用三個傳送埠,將 EDI 交換和建立的通知傳送至本機資料夾。

    下圖顯示這個解決方案的架構:

    接收 EDI 交換

設定和測試逐步解說

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

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

  • 建立單向接收埠,以便讓 BizTalk Server 從交易夥伴接收 EDI 交換並產生通知。 此接收位置繫結至檔案資料夾,而 Fabrikam 會在此資料夾放置要傳送給 Contoso 的 EDI 交換。

    注意

    您可以使用雙向請求回應接收埠和位置來接收訊息,但是如果這樣做的話,就不能對接收位置使用 FILE 傳輸類型。

  • 建立三個傳送埠,一個會將 EDI 交換傳送到 Contoso 本機資料夾、另一個會將 997 通知傳送到 Fabrikam 本機資料夾,而另一個則將 TA1 通知傳送到 Fabrikam 本機資料夾。

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

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

  • 為要接收的訊息和要傳送的通知設定 EDI 屬性,來在兩個設定檔之間建立協議。

  • 使用測試 EDI 交換以測試逐步解說。

    注意

    對於測試訊息,您可以使用 EDI 介面開發人員教學課程中所使用的 SamplePO.txt 檔案。 該檔案隨附于 \Program Files (x86) \Microsoft BizTalk Server < VERSION > SDK\EDI 介面開發人員教學課程\ 資料夾中。 這是 X12 850 訊息。

設定逐步解說

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

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

    注意

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

  2. 以滑鼠右鍵按一下您的專案,指向 [ 新增],然後按一下 [ 現有專案]。 移至架構位於 \Program Files (x86) \Microsoft BizTalk Server VERSION > XSD_Schema < \EDI 的資料夾,然後按兩下您的架構。

    注意

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

    注意

    如果您使用 EDI 介面開發人員教學課程中使用的 SamplePO.txt 檔案,則必須使用 \Program Files (x86) \Microsoft BizTalk Server < VERSION > SDK\EDI 介面開發人員教學課程\Inbound_EDI 資料夾中隨附的 X12_00401_850.xsd 架構。 您不得在 \Program Files (x86) \Microsoft BizTalk Server < VERSION > XSD_Schema 資料夾中使用 X12 850 架構。

  3. 將組件金鑰檔案加入專案,然後建置並部署組件。

建立單向接收埠 (供 Fabrikam 使用) 以接收 EDI 交換
  1. 在 Windows 檔案總管中,建立本機資料夾,以接收交換。

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

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

  4. 按一下 [新增]

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

  6. 流覽至 [ 接收資料夾] 文字方塊的資料夾 。 您已在此程序的步驟 1 中,建立此資料夾。 輸入檔案遮罩,例如 *.edi*.txt

  7. 按一下 [確定]。

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

  9. 按一下 [接收位置屬性] 對話方塊中的[確定]。 在 [接收埠內容] 對話方塊中再次按一下[確定]。

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

建立靜態單向傳送埠 (供 Contoso 使用) 以傳送 EDI 交換
  1. 在 Windows 檔案總管中,建立本機資料夾,以便將測試交換傳送至此本機資料夾。

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

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

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

  5. 針對 [目的地] 資料夾,流覽至資料夾以接收交換。 您已在此程序的步驟 1 中,建立此資料夾。 針對 [檔案遮罩],輸入交換格式,例如 *.edi*.xml

  6. 按一下 [確定]。

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

  8. 在主控台樹中,選取 [篩選]。 輸入訂閱 EDI 交換的篩選條件。 例如,針對 [屬性],輸入 BTS。MessageType;針對 [運算子],輸入 == ;針對 [ ] 輸入交換的架構,例如 http://schemas.microsoft.com/BizTalk/Edi/X12/2006#X12_00401_850

    注意

    上述篩選條件設定可以確保會將交換 (而非通知) 傳送到與此傳送埠相關的資料夾。

  9. 按一下 [確定]。

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

若要建立靜態單向傳送埠以傳送 997n 通知
  1. 在 Windows 檔案總管中,建立本機資料夾,以便傳送 997 通知至此本機資料夾。

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

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

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

  5. 針對 [目的地] 資料夾,流覽至資料夾以接收 997 通知。 您已在此程序的步驟 1 中,建立此資料夾。 針對 [檔案遮罩],輸入交換格式,例如 *.edi*.txt

  6. 按一下 [確定]。

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

  8. 在主控台樹中,選取 [篩選]。 輸入訂閱 997 通知的篩選條件。 例如,針對[屬性],輸入BTS。MessageType;針對[運算子],輸入 ;針對 [] 輸入 == 通知的架構,例如 。 http://schemas.microsoft.com/Edi/X12#X12_997_Root

  9. 按一下 [確定]。

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

若要建立靜態單向傳送埠以傳送 TA1 通知
  1. 在 Windows 檔案總管中,建立本機資料夾,以便傳送 TA1 通知至此本機資料夾。

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

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

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

  5. 針對 [目的地] 資料夾,流覽至資料夾以接收 TA1 通知。 您已在此程序的步驟 1 中,建立此資料夾。 針對 [檔案遮罩],輸入交換格式,例如 *.edi*.txt

  6. 按一下 [確定]。

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

  8. 在主控台樹中,選取 [篩選]。 輸入訂閱 TA1 通知的篩選條件。 例如,針對[屬性],輸入BTS。MessageType;針對[運算子],輸入 ;針對 [] 輸入 == 通知的架構,例如 。 http://schemas.microsoft.com/Edi/X12#X12_TA1_Root

  9. 按一下 [確定]。

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

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

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

    注意

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

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

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

    注意

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

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

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

    注意

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

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

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

    注意

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

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

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

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

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

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

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

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

  7. [Fabrikam-Contoso > ] 索引標籤上執行下列工作。

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

      注意

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

      注意

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

    2. 在 [交換設定] 區段下的 [通知] 頁面上,核取[TA1 預期] 和[預期的 997]。

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

      注意

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

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

    5. 在 [交換設定] 區段下的 [本機主機設定] 頁面上,清除 [路由 ACK 以在要求-回應接收埠上傳送管線] 選項。

      注意

      如果您使用雙向接收埠來接收交換並傳回通知,您會檢查 Route ACK 以在要求-回應接收埠上傳送管線

    6. 在 [交換設定] 區段下的 [傳送埠] 頁面上,建立將從 Fabrikam 接收交換的傳送埠,以及將從 Contoso 接收通知的傳送埠產生關聯。 在 [ 傳送埠 ] 方格的 [ 名稱 ] 資料行底下,按一下空白資料格,然後從下拉式清單中選取從 Fabrikam 接收 EDI 結算所建立的傳送埠。 針對建立來接收 TA1 通知的傳送埠與建立來接收 997 通知的傳送埠,重複執行此步驟。

    7. 在 [交易集設定] 區段下的 [驗證] 頁面上,保留[EDI 類型驗證] 檢查,然後核取 [擴充驗證]。

    8. 如果您使用隨附于BizTalk Server的標準架構之一,請在 [交易集設定] 區段下的 [本機主機設定] 頁面上,選取要用來處理傳入交換之架構的命名空間。 如果使用自訂架構,請在 [自訂目標命名空間] 方格中輸入值,讓BizTalk Server可以使用群組和交易集標頭值來判斷命名空間。

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

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

      注意

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

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

    注意

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

    注意

    即使通知是相同訊息交易的一部分,仍會在 Contoso-Fabrikam > 索引標籤中設定與如何產生通知相關的屬性。這是必要專案,因為傳送者和接收者限定詞的通知內容屬性會設定為您在 Contoso-Fabrikam > 索引標籤中指定的值相反。例如,如果在 Fabrikam-Contoso > 索引標籤中將寄件者和接收者識別碼設定為 [這些識別碼] 和 [US],則傳送者和接收者內容屬性將會設定為 [美國],並在通知中設定為 [這些識別碼]。 一般而言,其他單向協議索引標籤也會分別將傳送者與接收者識別項設定為 US 與 THEM。 因此,通知訊息會解析成該協議,並將挑選屬性設定。 因此,如果您想要讓通知使用不同的元素分隔符號,或想要讓通知使用 CR LF,請在 Contoso-Fabrikam > 索引標籤中指定屬性。

    在概念上,將會從傳送者與接收者辨識符號與在通知的內容屬性中所設定值相同的任一個單向協議索引標籤中挑選通知的屬性。 但為便於實際應用,通常會在您所建立由交換解析而成之協議的其他單向協議索引標籤中設定此屬性。

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

      注意

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

  9. 按一下 [套用]。

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

測試逐步解說

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

若要測試逐步解說
  1. 在 Windows 檔案總管中,將測試 EDI 交換置放到本機接收資料夾中。

    注意

    對於測試訊息,您可以使用 EDI 介面開發人員教學課程中所使用的 SamplePO.txt 檔案。 該檔案隨附于 \Program Files (x86) \Microsoft BizTalk Server < VERSION > SDK\EDI 介面開發人員教學課程資料夾。 這是 X12 850 訊息。 如果您使用此訊息,您必須已部署 \Program Files (x86) \Microsoft BizTalk Server < VERSION > SDK\EDI 介面開發人員教學課程\Inbound_EDI 資料夾中隨附的 X12_00401_850.xsd 架構。 您不得在 \Program Files (x86) \Microsoft BizTalk Server < VERSION > XSD_Schema 資料夾中使用 X12 850 架構。

  2. 開啟與交換傳送埠相關聯的資料夾,並確認其中有包含 EDI 交換。

  3. 開啟與 997 通知傳送埠相關聯的資料夾,並確認其中有包含 997 通知。

  4. 開啟與 TA1 通知傳送埠相關聯的資料夾,並確認其中有包含 TA1 通知。

另請參閱

開發和設定 BizTalk Server EDI 解決方案