AS2 Over File (BizTalk Server 範例)
AS2 Over File 範例示範如何透過 FILE 接收位置接收 AS2 訊息。 這可讓您使用 FILE 配接器來接收 AS2 訊息,而不是通常使用的 HTTP 配接器。 若要這樣做,此解決方案會在 AS2 解碼器要求時,將 AS2 訊息中的 HTTP 標頭寫入 InboundHTTPHeaders 內容屬性。
此範例的用途
本範例示範如何在沒有 HTTP 配接器的情況下處理 AS2 訊息中的 HTTP 標頭。 具體來說,本範例執行下列工作:
當您將測試訊息拖曳到輸入資料夾時,FILE 接收位置會收取該訊息。
自訂 AS2 接收管線中的自訂管線元件會處理訊息,將其 HTTP 標頭寫入 InboundHTTPHeaders 內容屬性。
注意
如果處理訊息導致自訂管線元件的下游失敗,您可能無法繼續處理訊息,因為它已經轉換成 XML 編碼。
自訂接收管線中的 AS2 解碼器會處理訊息,讀取 InboundHTTPHeaders 內容屬性中的屬性來執行其處理。
傳送埠會訂閱接收管線所產生的 XML 訊息,藉由通過傳送管線傳遞該訊息,然後再將它放入輸出資料夾中。
可在何處找到此範例
此範例位於 BizTalk Server 安裝資料夾中:\Program Files (x86) \Microsoft BizTalk Server < VERSION > SDK\Samples\AS2\AS2\AS2 over File。
下表顯示此範例中的檔案,並描述其用途。
檔案 | Description |
---|---|
AS2OverFile.csproj | 包含自訂管線元件程式碼的專案。 |
AS2OverFile.sln | 包含 AS2OverFile.btproj 專案的解決方案。 |
Program.cs | 包含代表標頭資料的類別。 |
SampleMessage.txt | 包含 HTTP 標頭的範例訊息。 |
實作及執行此範例
若要實作 AS2 Over File 範例,您必須執行下列作業:
建置及部署此範例的 BizTalk 專案,並建立自訂管線元件
建立使用自訂管線元件的自訂管線,並使用該自訂管線建置及部署專案
建立輸入及輸出檔案資料夾
設定接收埠和位址,並啟用接收位置
設定傳送埠及啟動傳送埠
建立傳送範例訊息的合作物件
若要使用 AS2 Over File 模擬器管線元件建置自訂管線
在 Visual Studio 中,開啟 \Program Files (x86) \Microsoft BizTalk Server < VERSION > SDK\Samples\AS2\AS2\AS2 Over File 資料夾中的 AS2OverFile 專案。
建立強式名稱金鑰檔,開啟 AS2OverFile 專案的 [屬性] 對話方塊,然後將金鑰檔指派給專案。
建置專案。
在 Visual Studio 中,建立名稱為 AS2OverFile_Pipeline 的新 BizTalk 專案。
以滑鼠右鍵按一下AS2OverFile_Pipeline專案,指向 [ 新增],然後按一下 [ 新增專案]。
在 [ 新增專案 ] 對話方塊中,選取左側窗格中的 [ 管線檔案 ],選取右側窗格中的 [ 接收管線 ],將管線命名為 AS2OverFile_Receive.btp,然後按一下 [ 新增]。
按一下功能表列中的 [ 檢視 ],然後按一下 [ 工具箱 ] 以顯示 [工具箱]。
在 [工具箱] 中,以滑鼠右鍵按一下 [BizTalk 管線元件],然後按一下 [ 選擇專案]。
在 [ 選擇工具箱專案 ] 對話方塊中,按一下 [BizTalk 管線元件 ] 索引標籤。按一下 [AS2 Over File Emulator],然後按一下 [ 確定]。
開啟 Visual Studio 命令提示字元,然後在 \AS2 Over File\obj\Debug 資料夾中的 Microsoft.BizTalk.Sdk.Components.AS2OverFile.dll 上執行 命令
gacutil /if "<file name and path>"
,將 AS2OverFile.dll 檔案新增至全域組件快取。在 Visual Studio 中,將 AS2 Over File Emulator 管線元件從 [工具箱] 拖曳至自訂管線的 解碼 階段。
將 AS2 解碼器元件拖曳至自訂管線的 解碼 階段,之後的 AS2 Over File 元件。
注意
如果要產生 MDN,請將 AS2 解譯器新增到自訂管線的 [解譯] 階段中。 如果您不是要傳回 MDN,就不需要 AS2 解譯器。
建立強式名稱金鑰檔,開啟 AS2OverFile_Pipeline 專案的 [屬性] 對話方塊,然後將金鑰檔指派給專案。
建置和部署自訂管線。
在 BizTalk Server 管理主控台中,按一下 [管線] 節點,然後按一下 [重新整理],將自訂管線新增至 [管線] 節點。
若要實作本範例的解決方案
在 Windows 檔案總管的 \Program Files (x86) \Microsoft BizTalk Server < VERSION > SDK\Samples\AS2\AS2\AS2 Over File 資料夾中,建立 [輸入資料夾] 和 [輸出] 資料夾。
在 BizTalk Server 管理主控台中,建立名為 AS2OverFile_Receive 的單向接收埠。 在接收埠中,使用下列屬性來建立接收位置:
屬性 設定 名稱 AS2OverFile_Receive 類型 FILE 接收資料夾 \Program Files (x86) \Microsoft BizTalk Server < VERSION > SDK\Samples\AS2\AS2\AS2 over File/in 檔案遮罩 *.txt 接收管線 AS2OverFile 在 [接收位置] 節點中,以滑鼠右鍵按一下AS2OverFile_Receive接收位置,然後按一下 [ 啟用]。
在 [傳送埠] 節點中,使用下列屬性建立靜態單向傳送埠:
屬性 設定 名稱 AS2OverFile_Send 類型 FILE 接收資料夾 \Program Files (x86) \Microsoft BizTalk Server < VERSION > SDK\Samples\AS2\AS2 over File/out 檔案遮罩 %MessageID%.xml 傳送管線 Passthru 篩選 BTS.REceivePortName == AS2OverFile_Receive 在 [傳送埠] 節點中,以滑鼠右鍵按一下AS2OverFile_Send傳送埠,然後按一下 [ 啟動]。
在 [合作對象] 節點中,建立名稱為 "Partner" 的合作對象。 在 [別名] 清單中,新增名稱為EDIINT-AS2 From Value、AS2-From的限定詞,以及Partner的值。
BizTalk Server 現在已準備就緒可使用此範例。
執行此範例
請使用下列程序執行 AS2 Over File 範例。
執行此範例
從 \Program Files (x86) \Microsoft BizTalk Server < VERSION > SDK\Samples\AS2\AS2\AS2 Over File 資料夾,將 SampleMessage.txt 檔案複製到 \AS2 Over File\In 資料夾中。
確認輸出 XML 訊息已放入 \AS2 Over File\Out 輸出資料夾。
在文字編輯器中開啟輸入訊息 SampleMessage.txt,然後在文字編輯器中開啟輸出訊息 < GUID >.xml。 確認 SampleMessage.txt 輸入訊息有 HTTP (和 AS2) 標頭,而輸出訊息則沒有 HTTP 標頭。
在此範例中使用的類別或方法
None