CustomComponent (BizTalk Server 範例)
此 CustomComponent 範例會示範如何建立和使用會修改資料流處理訊息的自訂管線元件。 這個範例也會示範使用「管線設計師」對自訂管線元件的設定。
此範例的用途
這個範例會實作自訂管線元件,該元件可以在輸入訊息之前加上字串或是附加字串。 BizTalk Server 會以資料流模式處理訊息,這表示整個訊息始終都不會載入到記憶體中。 自訂管線元件的示範會依下列步驟順序進行:
BizTalk 從特定資料夾中的檔案擷取文字訊息。
該文字訊息會透過包含 FixMsg 自訂管線元件的接收管線來傳送。 您會設定這個元件,將字串插入到訊息的開頭。
您會使用 FixMsg 自訂管線元件,透過傳送管線來傳送產生的文字訊息。 您會將這個元件設定成將字串附加到訊息的結尾。
BizTalk Server 會將產生的文字訊息寫入到特定資料夾中的檔案。
可在何處找到此範例
<範例路徑>\Pipelines\CustomComponent\
下表顯示此範例中的檔案,並描述其用途。
檔案 | Description |
---|---|
Cleanup.bat | 用來解除部署組件,並將這些組件從全域組件快取 (GAC) 移除。 移除傳送埠和接收埠。 視需要移除 Microsoft Internet Information Services (IIS) 虛擬目錄。 |
Input.txt | 範例輸入檔案。 |
Setup.bat | 用來建置和初始化此範例。 |
在 \FixMsg 資料夾中: AssemblyInfo.cs、FixMsg.csproj、FixMsg.sln |
此範例之自訂管線元件部分的專案、方案及組件資訊檔案。 |
在 \FixMsg 資料夾中: FixMsg.cs |
實作管線元件介面。 |
在 \FixMsg 資料夾中: FixMsgStream.cs |
實作 System.IO.Stream 類別的包裝函式,以啟用資料的資料流程處理。 |
在 \FixMsg 資料夾中: FixMsgDescription.cs |
提供在管線Designer中存取和轉譯元件 UI 資源的方法。 |
在 \FixMsg 資料夾中: FixMsg.resx |
包含屬性描述、圖示及錯誤訊息。 |
在 \PipelineComponentSample 資料夾中: PipelineComponentSample.btproj、PipelineComponentSample.sln |
此範例之 BizTalk 專案部分的專案和方案檔案。 |
在 \PipelineComponentSample 資料夾中: PipelineComponentSampleBinding.xml |
用於自動化設定,例如連接埠繫結。 |
在 \PipelineComponentSample 資料夾中: FixMsgReceivePipeline.btp、FixMsgSendPipeline.btp |
包含 FixMsg 自訂管線元件的 BizTalk Server 管線,接收管線和傳送管線各有一個。 |
建置和初始化此範例
若要建置和初始化此 CustomComponent 範例
在命令視窗中,瀏覽至下列資料夾:
<範例路徑>\Pipelines\CustomComponent
執行檔案 Setup.bat,這會執行下列動作:
在此資料夾中建立此範例的輸入 (In) 和輸出 (Out) 資料夾。
<範例路徑>\Pipelines\CustomComponent
編譯和部署這個範例的 Visual Studio 專案。
建立並繫結 BizTalk Server 接收位置以及傳送和接收埠。
注意
此範例會在建立和繫結連接埠時顯示下列警告:
Warning: Receive handler not specified for receive location "PCReceiveLocation"; updating with first receive handler with matching transport type.
Warning: Host not specified for orchestration "CustomComponent"; updating with first available host.
您可以安全地忽略這些警告。 (繫結檔案已省略主控件名稱與接收處理常式,以配合使用者安裝中可能的命名差異)。
啟用接收位置並啟動傳送埠。
注意
在嘗試執行此範例之前,您應該確認 BizTalk Server 沒有在建置和初始化程序期間報告任何錯誤。
注意
若您選擇不執行 Setup.bat 檔案就開啟和建置此範例中的專案,您必須先使用 .NET Framework Strong Name Utility (sn.exe) 建立強式名稱金鑰組。 這個金鑰組的用途是簽署產生的組件。
注意
若要復原 Setup.bat 所產生的變更,您必須先從 BizTalk Server 管理 MMC 主控台停止並重新啟動該主控件執行個體。 接著,執行 Cleanup.bat。 您必須先執行 Cleanup.bat 才能再度執行 Setup.bat。
執行此範例
若要執行此 CustomComponent 範例
請將文字檔 Input.txt 的複本貼到 In 資料夾中。
觀察在 Out 資料夾中建立的文字檔。此檔案包含檔案 Input.txt 的內容,以及接收管線) 開頭 (插入的其他文字,以及傳送管線) 結尾 (插入的其他文字。 此檔案名的格式是 <MessageID>.xml,其中< MessageID >是產生來唯一識別訊息的 GUID。
註解
您可以依照以下步驟執行,使用 [管線設計師] 來檢視事先設定的管線:
在 [方案總管] 中,按兩下 ReceivePipeline.btp,以便在 [管線設計師] 中開啟接收管線。 觀察 FixMsg 元件會放在接收管線的 [驗證 ] 階段。
按一下設計介面上 [驗證 ] 階段中的 FixMsg 元件。 您可以在 [屬性] 視窗中,查看該管線元件的組態屬性。 觀察 PrependData 屬性設定為 接收管線字串前面加上的資料。
在 [方案總管] 中,按兩下 SendPipeline.btp,以便在 [管線設計師] 中開啟傳送管線。 觀察 FixMsg 元件已置於傳送管線的 預先組合 階段。
按一下設計介面上 預先組合 階段中的 FixMsg 元件。 請注意, AppendData 屬性會設定為 [資料] 以在傳送管線字串中附加。