逐步解說 (AS2):透過 AS2 傳送非 EDI 訊息
本逐步解說提供一組逐步執行的程序,建立透過 AS2 傳送非 EDI 訊息的解決方案。 本逐步解說會透過 AS2 傳送 PIDX 訊息。 此方案使用含一個 AS2Send 傳送管線和一個 AS2Receive 接收管線的雙向傳送埠。 您可以在單一電腦上,建立並測試此逐步解說中的整個解決方案。
必要條件
以下是執行此主題中之程序的必要條件:
您必須以 BizTalk Server Administrators 或 BizTalk Server B2B 操作員群組的成員身分登入。
執行逐步解說的電腦必須安裝 Internet Information Services (IIS) 7。
若執行逐步解說的電腦是安裝 64 位元版本的 Windows,您必須確定 BizTalk 主機只標示為 32 位元。 您也必須確定 IIS 已將應用程式集區的「啟用 32 位元應用程式」設定為 True。 如需詳細資訊,請參閱 教學課程 3:AS2 教學課程。
解決方案如何傳送非 EDI/AS2 訊息並傳回同步 MDN
解決方案會執行下列動作:
單向 FILE 接收埠從 Contoso 接收 XML 訊息。
注意
這份清單中的事件可能不會按照所示的順序發生。
透過使用 XML 接收管線,接收埠會檢查訊息。 然後接收埠將測試訊息依原狀放入 MessageBox。
靜態雙向傳送埠取用 XML 訊息,並訂閱接收埠收到的所有訊息。
Fabrikam 的雙向接收埠會使用 Fabrikam 虛擬目錄來接收 AS2 訊息。 接收管線解碼 AS2 訊息,然後將訊息置放在 MessageBox 中。
具有通過傳送管線的靜態單向傳送埠取用該 XML 訊息。
單向傳送埠將 XML 訊息傳送至本機資料夾。
與雙向接收埠相關聯的傳送埠會傳回同步 MDN。
與雙向傳送埠相關聯的接收埠接收 MDN,並將其置放在 MessageBox 中。
具有通過傳送管線的靜態單向傳送埠會拾取該 MDN。
單向傳送埠會將 MDN 傳送至本機資料夾。
下圖顯示這個解決方案的架構。
透過 AS2
此解決方案中的功能
下列項目適用於本逐步解說的功能:
本逐步解說是處理 AS2 功能。 因此,與 AS2 處理有關的所有連接埠都是使用 AS2Receive 或 AS2Send 管線。 與 AS2 處理無關的連接埠,則使用 XMLReceive 或 PassThruTransmit 管線。
本逐步解說會使用 XML 測試訊息。
注意
您必須提供 XML 測試訊息和測試訊息的結構描述。
沒有啟用狀態報告。
這個解決方案不會設定簽章、壓縮、加密或不可否認性資料庫中的訊息存放區。 如需設定這些屬性的程式,請參閱 設定 AS2 屬性。
設定和測試逐步解說
這個解決方案所需的程序包含下列步驟:
建置並部署具有必要訊息架構的 BizTalk 專案,讓架構可供BizTalk Server用來處理已接收的訊息。
讓 BTS ISAPI 篩選器可用於接收 AS2 訊息。
建立 Fabrikam 虛擬目錄,用於接收 Contoso 的 AS2 訊息,如接收位置中所設定。
指定 Fabrikam 虛擬目錄不是由 Windows SharePoint Services 管理。
建立單向 FILE 接收埠,以接收要透過 AS2 傳輸來傳送的 XML 測試訊息。 建立本機資料夾,接收測試訊息。
建立靜態請求-回應 HTTP 傳送埠、將傳送管線設定為 AS2Send 管線,以及將接收管線設定為 AS2Receive 管線。 連接埠將 AS2 訊息傳送到 Fabrikam,並接收 Fabrikam 的 MDN 回應,然後將它放到 MessageBox。
建立雙向 HTTP 接收埠,以便讓 BizTalk Server 接收 AS2 訊息,並傳送 MDN 回應。 設定接收管線為 AS2Receive 管線,並設定傳送管線為 AS2Send 管線。 設定接收位置,以透過 Fabrikam 虛擬目錄接收 AS2 訊息。
注意
測試解決方案位於單一電腦上,因此,用於傳送 AS2 訊息 (自 Contoso 寄出) 的雙向傳送埠和用於接收 AS2 訊息 (由 Fabrikam 接收) 的雙向接收埠,皆位於相同電腦上。
建立靜態單向 FILE 傳送埠 (具有通過傳送管線),將訊息 XML 內容路由傳送至本機資料夾。 建立本機資料夾。
注意
如果您沒有傳送埠可以訂閱訊息內容,那麼訊息內容就會擱置在 MessageBox 中。
建立靜態單向 FILE 傳送埠 (具有通過傳送管線),以將 MDN 路由傳送至本機資料夾。 建立本機資料夾。
為 Fabrikam 與 Contoso 建立合作對象 (交易夥伴)。
為這兩個交易合作對象各建立一個商務設定檔。
在 Fabrikam 與 Contoso 的商務設定檔之間建立 AS2 協議。 AS2 協議應包含傳送 AS2 訊息及接收同步回傳之 MDN 的屬性。
使用 XML 測試訊息測試逐步解說。
設定逐步解說
本節說明設定逐步解說的程序。
若要部署測試訊息結構描述
在 Visual Studio 中,建立或開啟 BizTalk 專案。
注意
本主題假設您已經在「BizTalk EDI 應用程式」中加入了自己應用程式的參考 (包含 EDI 結構描述、管線和協調流程), 如果沒有,請參閱將參考新增至 BizTalk Server EDI 應用程式。
以滑鼠右鍵按一下專案,指向 [ 新增],然後按一下 [ 現有專案]。 若要使用 XML 檔案測試您的解決方案,請移至包含 XML 測試訊息之 XSD 結構描述的本機資料夾,然後選取該 XSD 檔案。 按一下 [新增]。
設定組件金鑰檔案,然後建置並部署組件。
若要啟用 BTS ISAPI 篩選器
按一下 [開始]、依序指向 [所有程式]、[系統管理工具],然後按一下 [Internet Information Services (IIS) 管理員]。
提示
視作業系統而定,[系統管理工具] 開始功能表選項可能無法使用。 在這種情況下,按一下 [ 開始],按一下 [ 執行],然後輸入
inetmgr
以開啟 [Internet Information Services] (IIS) 管理員。選取根網頁伺服器專案,然後在 [功能檢視] 中按兩下 [處理常式對應 ],然後在 [動作] 窗格中,按一下 [ 新增腳本對應]。
注意
在 Web 伺服器層級設定指令碼對應會使得此對應套用至所有子網站。 若要限制對應至特定網站或虛擬資料夾,請選取目標網站或資料夾,而不要選取 Web 伺服器。
在 [新增腳本對應] 對話方塊中,于 [要求路徑] 欄位中輸入
BtsHttpReceive.dll
。在 [可執行檔] 欄位中,按一下省略號 (...) 按鈕,然後流覽至 \Program Files (x86) \Microsoft BizTalk Server < VERSION > HttpReceive。 選取 [BtsHttpReceive.dll],然後按一下 [ 確定]。
在欄位中輸入
BizTalk HTTP Receive
,然後按一下 [要求限制]。Name
在 [要求限制]對話方塊中,選取[動詞] 索引標籤,然後選取下列其中一個動詞。 輸入
POST
作為動詞。在 [ 存取] 索引標籤上,選取 [ 腳本 ],然後按一下 [ 確定]。
按一下 [確定 ],當系統提示您允許 ISAPI 擴充功能時,按一下 [ 是]。
若要設定 Fabrikam 網頁
在 IIS 管理員中,以滑鼠右鍵按一下 [應用程式集區 ],然後選取 [ 新增應用程式集區]。
在 [新增應用程式集區] 對話方塊中,于[名稱] 中輸入BizTalkAppPool,然後在[.NET Framework版本] 下拉式清單中選取[.NET Framework V4.0.30210]。 按一下 [確定]。
注意
版本號碼可能會因電腦上安裝的 .NET Framework 4.5 版本而有所不同。
選取[應用程式集區],在[功能檢視] 中選取[BizTalkAppPool],然後按一下 [動作] 窗格中的 [進階設定]。
在 [ 進階設定 ] 對話方塊中,選取 [ 身分識別 ],然後按一下省略號 (...) 按鈕。
在 [ 應用程式集區身分識別] 對話方塊中,選取 [ 自訂帳戶 ],然後按一下 [ 設定]。
針對系統管理員群組成員的使用者帳戶輸入 [使用者名稱 ] 和 [ 密碼 ],在 [確認密碼 ] 中輸入密碼,然後按一下 [ 確定 ] 三次以返回 IIS 管理員。
在 IIS 管理員中,開啟 [月臺] 資料夾。 以滑鼠右鍵按一下 [預設網站] 節點,然後選取 [ 新增應用程式]。
在 [新增應用程式] 對話方塊中,于別名中輸入Fabrikam,然後按一下 [選取]。
在 [ 選取應用程式集 區] 對話方塊中,選取 [BizTalkAppPool ],然後按一下 [ 確定]。
按一下省略號 (...) 按鈕,然後流覽至[實體路徑] 的 \Program Files (x86) \Microsoft BizTalk Server < 版本 > HttpReceive。
按一下 [測試設定 ],並確認 [ 測試連線 ] 對話方塊中沒有顯示任何錯誤。 按一下 [關閉],然後按一下 [確定]。
在 IIS 管理員中,選取 Fabrikam 虛擬目錄,然後在 [功能檢視] 中按兩下 [ 驗證]。
在 [驗證]頁面中,選取 [匿名驗證],並確認 [狀態] 為 [已啟用]。 如果[狀態] 為 [停用],請按一下 [動作] 窗格中的 [啟用]。
若要指定虛擬目錄不是由 Windows SharePoint Services 管理
如果電腦上已安裝Windows SharePoint Services,請按一下 [開始]、指向[所有程式]、指向 [系統管理工具],然後按一下[SharePoint 3.0 管理中心]。
注意
如果設定逐步解說的相同電腦中安裝了 Windows SharePoint Services,就必須執行這個程序。 在此情況下,您必須指定 IIS 虛擬目錄不是由 Windows SharePoint Server 管理。
在 [ 管理中心] 頁面的 [ 管理中心] 底下,按一下 [ 應用程式管理]。
在 [ 應用程式管理] 頁面上,按一下 [定義受控路徑]。
在 [ 定義受控路徑 ] 頁面的 [ 新增路徑] 底下,于 [ 路徑 ] 文字方塊中輸入
Fabrikam
。 在 [類型] 底下,按一下 [ 排除路徑],然後按一下 [ 確定]。
若要建立接收埠以接收測試訊息
在 Windows 檔案總管中,建立本機資料夾,以接收來自 Contoso 的 EDI 交換。
在 [BizTalk Server管理主控台] 中,以滑鼠右鍵按一下BizTalk 應用程式 1節點底下的[接收埠] 節點,指向 [新增],然後按一下[單向接收埠]。
在 [ 接收埠屬性 ] 對話方塊中,將接收埠命名為 RecvXMLFromCont。
按一下主控台樹中的 [接收位置 ],然後按一下 [ 新增]。
為接收位置命名,選取[類型] 的 [FILE],然後按一下 [設定]。
針對 [接收] 資料夾,輸入您在步驟 1 中建立的資料夾名稱。
在 [檔案遮罩] 中,輸入 *.xml,然後按一下 [ 確定]。
在 [接收管線] 中,選取 [XMLReceive]。
注意
如果您使用其他非 EDI 檔案類型,而非 XML,請輸入 PassThruTranmit。
按一下 [確定],然後再按一下 [確定]。
按一下 [ 接收位置 ] 節點,以滑鼠右鍵按一下您的接收位置,然後按一下 [ 啟用]。
建立傳送埠以將 AS2 訊息傳送至 Fabrikam
在 BizTalk Server 管理主控台中,以滑鼠右鍵按一下BizTalk 應用程式 1節點底下的[傳送埠]節點,指向 [新增],然後按一下 [靜態] Solicit-Response [傳送埠]。
注意
如果使用 [BizTalk Application 1],您必須在 [BizTalk Application 1] 中加入「BizTalk EDI 應用程式」的參考,讓應用程式使用其成品。 如需詳細資訊,請參閱將參考新增至 BizTalk Server EDI 應用程式。
在 [ 傳送埠屬性] 對話方塊中,將傳送埠命名為 SendToFab_RecvMDN。
在 [傳輸]區段中,針對[類型] 選取[HTTP],然後按一下 [設定]。
在 [ HTTP 傳輸屬性] 對話方塊中,針對 [目的地 URL],輸入 http://localhost/Fabrikam/BTSHttpReceive.dll 。
清除 [啟用區塊編碼]。 按一下 [確定]。
針對 [傳送管線],選取 [AS2Send]。
針對 [接收管線],選取 [AS2Receive]。
在主控台樹中,選取 [ 篩選]。 針對 [屬性],輸入 BTS。ReceivePortName;針對 [運算子],輸入 == ;針對 [值 ] 輸入將接收 EDI 交換的接收埠名稱, (
RecvXMLFromCont
) 。注意
如果您要傳送 PIDX 訊息,您可以建立篩選運算式,以篩選 (PIDX) 的訊息類型。
如果您想要套用地圖來轉換 XML 檔,請按一下主控台樹狀目錄中的 [ 輸出對應 ]。 輸入輸出地圖的 [來源文件 ],選取 [ 對應],然後輸入 目的檔案。 按一下 [確定] 。
按一下 [確定] 。
按一下 [BizTalk Server管理主控台] 中的 [傳送埠] 節點,以滑鼠右鍵按一下您的傳送埠,然後按一下 [啟動]。
若要建立接收埠以接收 AS2 訊息並傳回通知
在 [BizTalk Server管理主控台] 的[BizTalk 應用程式 1] 節點下,以滑鼠右鍵按一下[接收埠],指向 [新增],然後按一下 [要求回應接收埠]。
將接收埠命名為 RecvAS2Msg,然後按一下主控台樹中的 [接收位置 ]。
按一下 [新增] 。
在 [接收位置屬性]對話方塊中,為您的接收位置命名,針對[類型] 選取[HTTP],然後按一下 [設定]。
在 [HTTP 傳輸屬性]對話方塊中,針對虛擬目錄加上 ISAPI 擴充功能輸入/Fabrikam/BTSHttpReceive.dll。 清除 [成功時傳回相互關聯控制碼 ],然後選取 [ 暫停失敗的要求]。 按一下 [確定]。
針對[接收管線] 選取[AS2Receive],然後針對[傳送管線]選取[AS2Send]。 按一下 [確定],然後再按一下 [確定]。
按一下 [ 接收位置 ] 節點,以滑鼠右鍵按一下您的接收位置,然後按一下 [ 啟用]。
若要建立傳送埠以將測試 XML 內容傳送至本機資料夾
在 Windows 檔案總管中,建立本機資料夾,以便將 EDI 交換傳送至此本機資料夾。
在 BizTalk Server 管理主控台中,以滑鼠右鍵按一下 [傳送埠],指向 [新增],然後按一下 [靜態] One-Way [傳送埠]。
在 [ 傳送埠屬性 ] 對話方塊中,將您的傳送埠命名為 SendXMLPayload。 針對[類型]選取[FILE],然後按一下 [設定]。
在 [ 檔案傳輸屬性] 對話方塊的 [ 目的地] 資料夾中,輸入您為 EDI 承載建立的本機資料夾。
針對 [檔案名],輸入檔案名。 如果您使用 XML 檔案作為測試訊息,請輸入 %MessageID%.xml。 按一下 [確定]。
接受Send Pipeline的PassThruTransmit預設值。
按一下主控台樹中的 [ 篩選 ],然後新增篩選屬性以挑選 EDI 承載。 在第一行的 [屬性] 中,輸入 BTS。ReceivePortName;針對 [運算子],輸入 == ;針對 [值],輸入接收 AS2 訊息 ()
RecvAS2Msg
的接收埠名稱,然後針對 [分組依據],接受 And。 在第二行的 [屬性] 中,輸入 EdiIntAS.IsAS2PayloadMessage;針對 [運算子],輸入 == ; 和 針對 [值],輸入 True。按一下 [確定]。
按一下 [ 傳送埠] 節點,以滑鼠右鍵按一下您的傳送埠,然後按一下 [ 啟動]。
若要建立傳送埠以將 MDN 傳送至本機資料夾
在 Windows 檔案總管中,建立本機資料夾,以便將 MDN 傳送至此本機資料夾。
在 BizTalk Server 管理主控台中,以滑鼠右鍵按一下 [傳送埠],指向 [新增],然後按一下 [靜態] One-Way [傳送埠]。
在 [ 傳送埠屬性] 對話方塊中,將您的傳送埠命名為 SendMDNToContoso。 針對[類型]選取[FILE],然後按一下 [設定]。
在 [ 檔案傳輸屬性] 對話方塊中,針對 [ 目的地] 資料夾,輸入您建立的本機資料夾,以傳送 MDN。
針對 [檔案名],輸入 %MessageID%.msg。按一下 [確定]。
接受Send Pipeline的PassThruTransmit預設值。
按一下主控台樹狀目錄中的 [ 篩選 ]。 針對 [屬性],輸入 BTS。SPName;針對 [運算子],輸入 == ;針對 [值],輸入傳送 AS2 訊息 ()
SendToFab_RecvMDN
的傳送埠名稱,然後針對 [群組依據],接受 And。 在第二行的 [屬性] 中,輸入 EdiIntAS.IsAS2MdnResponseMessage。 針對 [運算子],輸入 == 。 針對 [值],輸入 True。按一下 [確定]。
按一下 [ 傳送埠] 節點,以滑鼠右鍵按一下您的傳送埠,然後按一下 [ 啟動]。
若要為 Fabrikam 建立合作對象與商務設定檔
以滑鼠右鍵按一下 [BizTalk Server管理主控台] 中的 [合作物件] 節點,指向 [新增],然後按一下 [合作物件]。
在 [ 名稱 ] 文字方塊中輸入合作物件的名稱,然後按一下 [ 確定]。
注意
選取 [本機 BizTalk 處理由合作物件 OR 接收的訊息支援從此合作物件傳送訊息] 核取方塊,您可以指定所建立的合作物件適用于同時裝載BizTalk Server的相同組織。 據此,建立協議時將會啟用或停用某些屬性。 不過,就本逐步解說而言,您可以讓這個核取方塊保持選取狀態。
以滑鼠右鍵按一下合作物件名稱,指向 [ 新增],然後按一下 [商務設定檔]。
在 [配置檔案屬性] 對話方塊的 [一般] 頁面上,于 [名稱] 文字方塊中輸入Fabrikam_Profile。
注意
當您建立合作對象時,會同時建立設定檔。 您可以重新命名再使用該設定檔,而不需建立新設定檔。 若要重新命名設定檔,請以滑鼠右鍵按一下設定檔,然後選取 [ 屬性]。 在 [ 一般 ] 頁面中,指定設定檔的名稱。
若要為 Contoso 建立合作對象與商務設定檔
以滑鼠右鍵按一下 [BizTalk Server管理主控台] 中的 [合作物件] 節點,指向 [新增],然後按一下 [合作物件]。
在 [ 名稱 ] 文字方塊中輸入合作物件的名稱,然後按一下 [ 確定]。
注意
選取 [本機 BizTalk 處理由合作物件 OR 接收的訊息支援從此合作物件傳送訊息] 核取方塊,您可以指定所建立的合作物件適用于同時裝載BizTalk Server的相同組織。 據此,建立協議時將會啟用或停用某些屬性。 不過,就本逐步解說而言,您可以讓這個核取方塊保持選取狀態。
以滑鼠右鍵按一下合作物件名稱,指向 [ 新增],然後按一下 [商務設定檔]。
在 [配置檔案屬性]對話方塊的 [一般] 頁面上,于 [名稱] 文字方塊中輸入Contoso_Profile。
注意
當您建立合作對象時,會同時建立設定檔。 您可以重新命名再使用該設定檔,而不需建立新設定檔。 若要重新命名設定檔,請以滑鼠右鍵按一下設定檔,然後選取 [ 屬性]。 在 [ 一般 ] 頁面中,指定設定檔的名稱。
若要建立兩個商務設定檔之間的 AS2 協議
以滑鼠右鍵按一下 Contoso_Profile,指向 [ 新增],然後按一下 [ 合約]。
在 [ 一般屬性] 頁面的 [ 名稱] 文字方塊中,輸入合約的名稱。
從 [ 通訊協定 ] 下拉式清單中,選取 [AS2]。
在 [ 第二個合作夥伴] 區段中,從 [ 名稱] 下拉式清單中,選取 [Fabrikam]。
在 [ 第二個合作夥伴 ] 區段中,從 [ 設定檔 ] 下拉式清單中,選取 [Fabrikam_Profile]。
您會注意到兩個新的索引標籤會在 [ 一般 ] 索引標籤旁邊新增。每個索引標籤都用於設定單向 AS2 合約。
在 [Contoso-Fabrikam > ] 索引標籤上執行下列工作。
在 [ 識別碼] 頁面上,輸入 AS2-From 和 AS2-To的值。 針對 AS2-From,輸入
Contoso
。 針對 AS2- To,輸入Fabrikam
。在 [ 通知 (MDN) ] 頁面中,執行下列動作:
選取 [ 將輸入 MDN 處理至 MessageBox 以進行路由/傳遞選項 ] 核取方塊。
注意
若要測試此逐步解說,需要檢查將 輸入 MDN 處理到 MessageBox 中的路由/傳遞選項 ,因為只有這樣才會將傳回的 MDN 卸載到 MessageBox。 而您也才可以建立傳送埠訂閱 MDN、將 MDN 傳送到本機目錄,好讓您確認 AS2 傳輸。
選取 [ 要求 MDN ] 核取方塊。
請確定已清除 [ 要求籤署的 MDN ] 核取方塊。
保留 [要求非同步 MDN ] 清除。
在 [處置通知-To]中,輸入任何值。 在 AS2 處理期間並不會使用這個欄位值,但還是必須在該欄位中輸入值。
在 [ 傳送埠] 頁面上,建立將傳送 EDI 交換至 Fabrikam 雙向傳送埠的關聯。 在 [ 傳送埠 ] 方格的 [ 名稱] 資料行底下,按一下空白儲存格,然後從下拉式清單中選取傳送埠 SendToFab_RecvMDN。
在 [Fabrikam-Contoso > ] 索引標籤上執行下列工作。
注意
在此逐步解說中,我們在索引標籤中指定必要值,以便可以順利地建立協議。 若要成功建立合約,這兩個單向合約索引標籤都必須針對 AS2_From 和 AS2-To定義值。
- 在 [ 識別碼] 頁面上,輸入 AS2-From 和 AS2-To的值。 針對 AS2-From,輸入
Fabrikam
。 針對 AS2- To,輸入Contoso
。
- 在 [ 識別碼] 頁面上,輸入 AS2-From 和 AS2-To的值。 針對 AS2-From,輸入
按一下 [套用]。
按一下 [確定]。 新新增的合約會列在 [合作物件和商務設定檔] 窗格的 [合約] 區段中。 預設會啟用新增的協議。
測試逐步解說
本節提供關於如何測試逐步解說的資訊。
測試方案
在 [Windows 檔案總管] 中,將 XML 測試檔案貼入到您為了接收 Contoso 測試訊息而建立的本機資料夾。
移至您建立用來傳送 XML 內容的本機資料夾。 確認該資料夾包含 XML 檔案。 開啟檔案和原始測試訊息,並確認其內容是相同的。
移至您建立用來做為結果 MDN 之傳送目標的本機資料夾。 確認該資料夾包含一個檔案,開啟該檔案並確認是否為 MDN 檔案。