逐步解說 (X12):傳送 EDI 交換
本逐步解說提供一組逐步程式,可建立使用 BizTalk Server 傳送 EDI 交換的解決方案。
必要條件
您必須以 BizTalk Server Administrators 或 BizTalk Server B2B 操作員群組的成員身分登入。
解決方案如何傳送 EDI 交換
解決方案會執行下列動作:
單向 FILE 接收埠會從 Fabrikam 接收 EDI 訊息。
這個接收埠會使用 EdiReceive 管線來檢查訊息並將其轉換成 XML。 然後接收埠會將測試訊息拖曳到 MeassageBox。
靜態的單向傳送埠會從 MessageBox 拾取 XML 訊息。
靜態的單向傳送埠會依據訊息結構描述驗證 EDI 訊息、序列化 EDI 訊息成 EDI 交換,然後再將 EDI 訊息傳送到交易夥伴 Contoso 的本機資料夾。
此解決方案中的功能
本逐步解說使用下列功能:
本逐步解說中不會測試通知的接收。 若要瞭解如何接收通知,請參閱示範的 逐步解說 (X12) :接收 EDI 交換和傳回通知
這個解決方案是專為使用 X12 編碼 (而非 EDIFACT 編碼) 的交換所設計。
注意
用於 HIPAA 與 EDIFACT 編碼的組態,與用於 X12 編碼的組態近乎相同。
將針對外寄交換執行 EDI 類型和擴充驗證。
這個解決方案使用靜態單向傳送埠與 FILE 傳輸類型。
注意
您可以使用靜態雙向傳送埠以傳送交換並接收通知,來取代靜態單向傳送埠。 也可以使用動態單向傳送埠以傳送交換。 如需使用動態傳送埠的詳細資訊,請參閱 設定動態傳送埠以傳送 EDI 交換和通知。
注意
您可以使用 HTTP 配接器和 AS2 傳輸。 如需這樣做的詳細資訊,請參閱 逐步解說 (AS2) :使用同步 MDN 透過 AS2 傳送 EDI 或逐步解說 (AS2) :使用非同步 MDN 透過 AS2 傳送 EDI。
EDI 報告將會啟用,並會儲存交易集,以從交換狀態報告進行檢視。
基於測試的目的,解決方案使用接收位置以接收測試訊息。
下圖顯示這個解決方案的架構,其中使用靜態單向傳送埠。
設定和測試逐步解說
這個解決方案所需的程序包含下列步驟:
將必要的訊息架構 () 新增至 BizTalk 專案,然後建置和部署專案,讓BizTalk Server可用於處理輸出交換的架構。
建立接收埠和位置,讓BizTalk Server接收 EDI 交換。 此接收位置繫結至檔案資料夾,而 Fabrikam 會在此資料夾放置要傳送給 Contoso 的 EDI 交換。 接收位置將使用 EdiReceive 接收管線。
建立BizTalk Server的傳送埠,以將 EDI 交換傳送至 Contoso。 在此逐步解說中,您將建立靜態單向傳送埠。
為 Fabrikam 與 Contoso 建立合作對象 (交易夥伴)。
分別為兩個交易夥伴建立商務設定檔。
設定讓訊息收得到的 EDI 屬性,以建立這兩個設定檔之間的協議。
使用測試 EDI 交換以測試逐步解說。
注意
對於測試訊息,您可以使用 EDI 介面開發人員教學課程中所使用的 SamplePO.txt 檔案。 該檔案隨附于 \Program Files (x86) \Microsoft BizTalk Server < VERSION > SDK\EDI 介面開發人員教學課程\ 資料夾中。 這是 X12 850 訊息。
設定逐步解說
本節說明設定逐步解說的程序。
若要部署訊息結構描述
在 Visual Studio 中,建立或開啟 BizTalk 專案。
注意
本主題假設您已經在「BizTalk EDI 應用程式」中加入了自己應用程式的參考 (包含 EDI 結構描述、管線和協調流程), 如果沒有,請參閱將參考新增至 BizTalk Server EDI 應用程式。
以滑鼠右鍵按一下您的專案,指向 [ 新增],然後按一下 [ 現有專案]。 移至架構位於 \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 架構。
將組件金鑰檔案加入專案,然後建置並部署組件。
建立單向接收埠 (供 Fabrikam 使用) 以接收 EDI 交換
在 Windows 檔案總管中,建立本機資料夾,以接收交換。
在 BizTalk Server 管理主控台中,以滑鼠右鍵按一下BizTalk 應用程式 1節點下的 [接收埠] 節點,指向 [新增],然後按一下[單向接收埠]。
將接收埠命名為 ,然後按一下主控台樹中的 [ 接收位置 ]。
按一下 [新增] 。
將接收位置命名為 ,針對[類型] 選取[FILE],然後按一下 [設定]。
輸入 [接收] 資料夾的資料夾,然後輸入 *.txt 作為檔案遮罩。
按一下 [確定]。
針對 [接收管線],選取 [EdiReceive]。
按一下 [確定],然後再按一下 [確定]。
在主控台樹中,按一下 [ 接收位置]。 在 [ 接收位置] 窗格中,以滑鼠右鍵按一下您的接收位置,然後按一下 [ 啟用]。
建立靜態單向傳送埠 (供 Contoso 使用) 以傳送 EDI 交換
在 Windows 檔案總管中,建立本機資料夾,以便將 EDI 交換傳送至此本機資料夾。
在 BizTalk Server 管理主控台中,以滑鼠右鍵按一下BizTalk 應用程式 1節點下的 [傳送埠] 節點,指向 [新增],然後按一下 [靜態單向傳送埠]。
在 [ 傳送埠屬性 ] 對話方塊中,將傳送埠命名為 。
在 [ 傳輸 ] 區段中,選取 [類型],例如 FILE。
如果使用 FILE 類型,請按一下 [ 設定]。 在 [目的地] 資料夾中,流覽至要傳送交換的目的檔案夾。 針對 [檔案名],輸入 %MessageID%.edi。 按一下 [確定]。
在 [傳送管線] 中,選取 [EdiSend]。
在主控台樹中,選取 [ 篩選],然後輸入傳送埠的篩選運算式,以用來訂閱訊息。 例如,您可以使用將要接收原始測試訊息的接收位置做為篩選條件運算式。 若要這樣做, 請在 [屬性]中輸入 BTS。ReceivePortName;針對 [運算子],輸入 == ;針對 [ 值 ],輸入您建立以從 Fabrikam 接收 XML 訊息的接收埠名稱。
注意
您可以依您的選擇篩選其他屬性,例如 BTS.MessageType。
按一下 [確定]。
按一下管理主控台中的 [ 傳送埠 ] 節點,以滑鼠右鍵按一下您的傳送埠,然後按一下 [ 啟動]。
若要為 Fabrikam 建立合作對象與商務設定檔
以滑鼠右鍵按一下 [BizTalk Server 管理主控台中的[合作物件] 節點,指向 [新增],然後按一下 [合作物件]。
在 [ 名稱 ] 文字方塊中輸入合作物件的名稱,然後按一下 [ 確定]。
注意
選取 [本地 BizTalk 處理合作物件 OR 所接收的訊息] 支援從此合作物件傳送訊息核取方塊,您可以指定所建立的物件是同時裝載BizTalk Server的相同組織。 據此,建立協議時將會啟用或停用某些屬性。 不過,就本逐步解說而言,您可以讓這個核取方塊保持選取狀態。
以滑鼠右鍵按一下合作物件名稱,指向 [ 新增],然後按一下 [商務設定檔]。
在 [配置檔案屬性] 對話方塊的 [一般] 頁面上,于 [名稱] 文字方塊中輸入Fabrikam_Profile。
注意
當您建立合作對象時,會同時建立設定檔。 您可以重新命名再使用該設定檔,而不需建立新設定檔。 若要重新命名設定檔,請以滑鼠右鍵按一下設定檔,然後選取 [ 屬性]。 在 [ 一般] 頁面中,指定設定檔的名稱。
若要為 Contoso 建立合作對象與商務設定檔
以滑鼠右鍵按一下 [BizTalk Server 管理主控台中的[合作物件] 節點,指向 [新增],然後按一下 [合作物件]。
在 [ 名稱 ] 文字方塊中輸入合作物件的名稱,然後按一下 [ 確定]。
注意
選取 [本地 BizTalk 處理合作物件 OR 所接收的訊息] 支援從此合作物件傳送訊息核取方塊,您可以指定所建立的物件是同時裝載BizTalk Server的相同組織。 據此,建立協議時將會啟用或停用某些屬性。 不過,就本逐步解說而言,您可以讓這個核取方塊保持選取狀態。
以滑鼠右鍵按一下合作物件名稱,指向 [ 新增],然後按一下 [商務設定檔]。
在 [配置檔案屬性] 對話方塊的 [一般] 頁面上,于 [名稱] 文字方塊中輸入Contoso_Profile。
注意
當您建立合作對象時,會同時建立設定檔。 您可以重新命名再使用該設定檔,而不需建立新設定檔。 若要重新命名設定檔,請以滑鼠右鍵按一下設定檔,然後選取 [ 屬性]。 在 [ 一般] 頁面中,指定設定檔的名稱。
在兩個商務設定檔之間建立協議
以滑鼠右鍵按一下 [Fabrikam_Profile],指向 [ 新增],然後按一下 [ 合約]。
在 [ 一般屬性] 頁面的 [ 名稱 ] 文字方塊中,輸入合約的名稱。
從 [ 通訊協定 ] 下拉式清單中,選取 [X12]。
在 [ 第二個合作夥伴 ] 區段中,從 [ 名稱 ] 下拉式清單中,選取 [Contoso]。
在 [ 第二個合作夥伴 ] 區段中,從 [ 設定檔 ] 下拉式清單中,選取 [Contoso_Profile]。
您會發現[ 一般 ] 索引標籤旁邊會新增兩個新的索引標籤。每個索引標籤都用於設定單向合約,而每個單向合約都代表訊息 (的完整交易,包括訊息傳輸和通知傳輸) 。
在 [ 一般 ] 索引標籤的 [ 一般屬性 ] 頁面的 [ 一般主機設定 ] 區段中,選取 [ 開啟報告],然後選取 [ 儲存訊息承載以供報告]。
在 [Fabrikam-Contoso > ] 索引標籤上執行下列工作。
在 [交換設定] 區段下的 [識別碼]頁面上,輸入符合測試訊息中這些標頭欄位值的限定詞和識別碼欄位 (、ISA6、ISA7 和 ISA8) 。
注意
BizTalk Server需要傳送者和接收者的限定詞和識別碼欄位,才能執行合約解析。 它會比對交換標頭中ISA5、ISA6、ISA7和ISA8的值,以及合約屬性中的值。 BizTalk Server也會比對傳送者辨識符號和識別碼 (來解決合約,而不需要接收者限定詞和識別碼) 。 如果BizTalk Server無法解決合約,則會使用後援合約屬性。
注意
如果您使用「EDI 介面開發人員教學課程」 中的 SamplePO.txt 檔案作為測試訊息,請將 ISA5 設定為 ZZ、 ISA6 設為 THEM、 ISA7 設為 ZZ,並將 ISA8 設定為 US。
在 [交換設定] 區段下的 [驗證] 頁面上,確定未核取[檢查重複的 ISA13] 選項。
注意
清除 [檢查是否有重複的 ISA13 ] 屬性可讓您接收相同訊息的多個實例。
在 [交換設定] 區段下的[字元集和分隔符號] 頁面上,選取CR LF選項。
在 [交換設定] 區段下的 [傳送埠] 頁面上,建立將從 Fabrikam 接收 EDI 交換的傳送埠產生關聯。 在 [ 傳送埠 ] 方格的 [ 名稱 ] 資料行底下,按一下空白資料格,然後從下拉式清單中選取從 Fabrikam 接收 EDI 結算所建立的傳送埠。
在 [交易集設定] 區段下的 [驗證] 頁面上,保留[EDI 類型驗證] 檢查,然後核取 [擴充驗證]。
如果您使用隨附于BizTalk Server的標準架構之一,請在 [交易集設定] 區段下的 [本機主機設定] 頁面上,選取要用來處理傳入交換之架構的命名空間。
使用 作法 預設值 選取欄中的核取方塊 For ST1 選取 [850 - 採購單]。 GS2 輸入 THEM。 目標命名空間 請選取 http://schemas.microsoft.com/BizTalk/EDI/X12/2006
。注意
設定屬性可讓BizTalk Server判斷要用於處理傳入 850 交換的架構。 如果交換的 GS02 和 ST01 值是輸入在格線行中,則將會使用同一行的目標命名空間來判斷要使用的結構描述。
在 [交易集設定] 區段下的[信封] 頁面上,輸入方格第一行中所有資料行的值。
使用 作法 預設值 選取 [預設] 資料行中的核取方塊。 注意:當您選取此資料列做為預設值時,即使交易類型、版本/版本和目標命名空間的值與訊息不符,仍會使用GS1、GS2、GS3、GS7 和 GS8的值。 交易類型 選取測試訊息的訊息類型, 850 - 採購單。 版本/版次 輸入 EDI 版本 00401。 目標命名空間 請選取 http://schemas.microsoft.com/BizTalk/EDI/X12/2006
。GS1 確認已選取測試訊息的訊息類型, PO - 採購單 (850) 。 GS2 輸入應用程式傳送者的值。 GS3 輸入應用程式接收者的值。 GS4 選取您想要的日期格式。 注意: 您必須在下拉式清單中選取值,而不只是按一下欄位以顯示預設值。 如果您按一下欄位而未從下拉式清單中選取值,實際上不會選取值。 GS5 選擇您要的時間格式。 GS7 選取 [X - 認證標準委員會 X12]。 GS8 確認已輸入 EDI 版本 00401。 注意
BizTalk Server會根據針對交易類型、版本/版本和目標命名空間輸入的值,設定 GS01、GS02、GS03、GS04、GS05、GS07 和 GS08 的值。 傳送管線會嘗試將交易集類型、X12 版本和目標命名空間,與訊息標頭中的對應值進行比對。 如果成功,它會使用與 交易類型、 版本/發行和 目標命名空間 值相關聯的 GS 值。
在 [Contoso-Fabrikam > ] 索引標籤 上執行下列工作。
注意
在此逐步解說中,我們在索引標籤中指定必要值,以便可以順利地建立協議。 若要成功建立合約,這兩個單向合約索引標籤都必須定義ISA5、ISA6、ISA7和ISA8的值。
在 [交換設定] 區段下的 [識別碼]頁面上,輸入符合測試訊息中這些標頭欄位值的限定詞和識別碼欄位 (、ISA6、ISA7 和 ISA8) 。
注意
如果您使用「EDI 介面開發人員教學課程」中的 SamplePO.txt 檔案作為測試訊息,請將ISA5設定為 ZZ、ISA6設為US、ISA7設為ZZ,並將ISA8設定為它們。
按一下 [套用]。
按一下 [確定]。 新增的合約會列在[合作物件和商務設定檔] 窗格的 [合約] 區段中。 預設會啟用新增的協議。
測試逐步解說
本節提供關於如何測試逐步解說的資訊。
若要測試逐步解說
在 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 架構。
在 Windows 檔案總管中,開啟為傳送埠指定的目的資料夾。 確認資料夾包含輸出 EDI 交換,其 ISA、GS 和 ST 標頭符合您在協議屬性中輸入的值。