共用方式為


FlatFileSend (BizTalk Server 範例)

FlatFileSend 範例會示範如何使用 BizTalk Server 將 XML 檔案處理成相等的一般檔案。

此範例的用途

此範例將 [FFInput] 資料夾設定為接收位置。 當您將檔案 (例如範例檔案 FlatFileSend_in.xml) 放置於此資料夾時,BizTalk Server 便會使用下列步驟來處理此檔案中的訊息:

  1. BizTalk Server 從接收位置資料夾 FFInput 中的輸入檔讀取訊息。

  2. 訊息透過 XML 接收管線傳遞。

  3. 在 MessageBox 資料庫中,訊息路由傳送至 FILE 傳送埠,這個傳送埠具有使用「一般檔案組合器」元件設定的傳送管線。 「一般檔案組合器」元件會使用一般檔案結構描述,將 XML 訊息轉換成相等的一般檔案表示。

  4. BizTalk Server 將轉換後的訊息寫入至傳送配接器資料夾 FFOutput 中的文字檔。

此範例的設計方式和原因

範例訊息大致指出了此範例的基本設計。 一般檔案訊息必須使用「一般檔案組合器」和自訂傳送管線內的一般檔案結構描述來組合。 這些和其他設計元素總結於下表中。

設計元素 已選取的原因
自訂傳送管線 - 自訂管線會使用一般檔案組合器和一般檔案架構,將實例訊息轉譯成一般檔案格式;一般檔案組合器本身不是管線,無法在 BizTalk Server 管理主控台中設定傳送管線時使用。
一般檔案結構描述 - 定義所有相同的記錄和欄位特性, (包括結構) 為 XML 架構,並提供一種機制來定義將 XML 實例訊息轉譯成一般檔案訊息所需的所有一般檔案特性, (反之亦然) 。
訂閱篩選器 - 訂用帳戶篩選準則會根據屬性欄位擷取符合一或多個準則的訊息,以執行實際的路由。
XMLReceive - 執行輸入 XML 訊息的處理。 在本範例中,來源訊息使用的是訂單的 XML 表示。

這些項目結合後產生的解決方案,可從接收位置接受 XML 檔案格式的訂單訊息,再將一般檔案訂單寫出至傳送位置。

可在何處找到此範例

< 範例 Path >\Pipelines\AssemblerDisassembler\FlatFileSend

下表顯示此範例中的檔案,並描述其用途。

檔案 Description
Cleanup.bat 用來解除部署組件,以及將它從全域組件快取中移除。 移除傳送埠和接收埠。 視需要移除 Microsoft Internet Information Services (IIS) 虛擬目錄。
FlatFileSend.btproj、FlatFileSend.sln 這個範例的專案及解決方案檔案。
FlatFileSendBinding.xml 用於自動化設定,例如連接埠繫結。
FlatFileSend_in.xml 範例輸入檔案。
PO.xsd 輸出一般檔案的結構描述。
SendPipeline.btp 使「一般檔案組合器」元件設定的 BizTalk Server 傳送管線檔案。
Setup.bat 用來建置和初始化此範例。

如何使用此範例

您可以使用此範例,做為自己的一般檔案處理解決方案基礎。 您可以將本範例中所用的許多設計元素加以擴充,以符合自己的需求。

建置和初始化此範例

  1. 在命令視窗中,瀏覽至下列資料夾:

    < 範例 Path >\Pipelines\AssemblerDisassembler\FlatFileSend

  2. 執行檔案 Setup.bat,這會執行下列動作:

    • 為資料夾內的這個範例建立輸入 (FFInput) 和輸出 (FFOutput) 資料夾。

      < 範例 Path >\Pipelines\AssemblerDisassembler\FlatFileSend

    • 編譯此範例的 Visual Studio 專案。

    • 建立並繫結 BizTalk Server 接收位置以及傳送和接收埠。

      注意

      此範例會在建立和系結埠時顯示下列警告: Warning: Receive handler not specified for receive location "FlatFileSend_RL"; updating with first receive handler with matching transport type. Warning: Host not specified for orchestration "FlatFileSend"; updating with first available host. 您可以安全地忽略這些警告。 (繫結檔案已省略主控件名稱與接收處理常式,以配合使用者安裝中可能的命名差異)。

    • 啟用接收位置並啟動傳送埠。

注意

在嘗試執行此範例之前,您應該確認 BizTalk Server 沒有在建置和初始化程序期間報告任何錯誤。

注意

如果您選擇不執行 Setup.bat 就開啟和建置此範例中的專案,必須先使用 .NET Framework Strong Name Utility (sn.exe) 建立強式名稱金鑰組。 請使用這個金鑰組來簽署產生的組件。

注意

若要復原 Setup.bat 所進行的變更,請執行 Cleanup.bat。 您必須先執行 Cleanup.bat 才能再度執行 Setup.bat。

執行此範例

  1. 將 FlatFileSend_in.xml 檔案的複本放在 FFInput 資料夾中。

  2. 觀察建立於 FFOutput 資料夾內的一般檔案。 這個文字檔的名稱是以訊息識別碼 GUID 為根據。 此檔案包含相當於 XML 輸入檔 FlatFileSend_in.xml 的一般檔案。

在此範例中使用的類別或方法

組態指令碼 Setup.bat 和 Cleanup.bat 依賴下列系統管理 Windows Management Instrumentation (WMI) 指令碼:

  • 啟動傳送埠\StartSendPort.vbs

  • 啟用接收位置\EnableRecLoc

  • 移除傳送埠\RemoveSendPort

    安裝和清除批次檔使用的是下列 BTSTask:

  • BTSTask ImportBindings 以套用系結檔案並建立應用程式、埠和系結

  • BTSTask RemoveApp 以移除 FlatFileSendApplication

另請參閱