MQSSendPipelineComponent (BizTalk Server 範例)
本範例示範如何撰寫可從 XML 檔案讀取一組 MQSeries 屬性值,並將這些屬性值套用至訊息的管線元件。
此範例的用途
此範例是由兩個 Visual Studio 專案所組成:管線元件專案,以及使用管線元件的管線專案。
可在何處找到此範例
< SamplesPath >\AdaptersUsage\MQSeriesAdapter\MQSSendPipelineComponent\SetMQSeriesHeaderPropertyComponent
< SamplesPath >\AdaptersUsage\MQSeriesAdapter\MQSSendPipelineComponent\SetMQSeriesHeaderPropertyPipeline
下表顯示此範例中的檔案,並描述其用途。
檔案 | 說明 |
---|---|
SetMQSeriesHeaderPropertyComponent\SetMQSeriesHeaderPropertyComponent.sln, SetMQSeriesHeaderPropertyComponent\SetMQSeriesHeaderPropertyComponent.csproj |
管線元件的專案和方案檔。 |
SetMQSeriesHeaderPropertyComponent\CSetMQSeriesHeaderPropertyComponent.cs | 管線元件的 Visual C#® 原始程式檔。 |
SetMQSeriesHeaderPropertyComponent\SetMQSMQMDHdrProps.xml | 管線元件讀取及使用的 MQSeries 屬性。 |
SetMQSeriesHeaderPropertyPipeline\SetMQSeriesHeaderPropertyPipeline.btproj, SetMQSeriesHeaderPropertyPipeline\SetMQSeriesHeaderPropertyPipeline.sln |
BizTalk 管線的專案和方案檔。 |
SetMQSeriesHeaderPropertyPipeline\SetMQSeriesHeaderPropertyPipeline.snk | BizTalk 管線元件的強式命名金鑰檔案。 |
SetMQSeriesHeaderPropertyPipeline\SetMQSeriesHeaderPropertyPipeline.btp | BizTalk Server 管線。 |
如何使用此範例
若要建立此應用程式,您必須完成下列步驟:
建立應用程式的資料夾。
修改和編譯管線元件的 Visual Studio 專案。
將編譯後的組件和標頭檔複製到適當的資料夾。
修改BizTalk Server管線的 Visual Studio 專案。
編譯及部署 BizTalk Server 管線專案。
設定 BizTalk Server 接收位置。
建立 MQSeries 佇列。
設定傳送埠。
啟用接收位置並啟動傳送埠。
為應用程式建立資料夾
這個程序會為應用程式建立適當的資料夾。
若要為應用程式建立資料夾
如果 C:\ 磁片磁碟機尚不存在,請在您的 C:\ 磁片磁碟機上建立名為 temp 的資料夾。
在 C:\temp 目錄下建立名為 Pickup3的資料夾。
修改及編譯管線元件的專案
此程式會修改並編譯管線元件的 Visual Studio 專案。
若要修改及編譯管線元件的專案
按兩下方案檔 SetMQSeriesHeaderPropertyComponent\SetMQSeriesHeaderPropertyComponent.sln ,以在 Visual Studio 中開啟方案。
按兩下類別檔案 CSetMQSeriesHeaderPropertyComponent.cs ,在 Visual Studio 中開啟類別檔案。
找出變數 samplesDir,確認此變數已設定為 C:\temp位置。
以滑鼠右鍵按一下方案總管中的方案,然後按一下 [建置]。 這會將專案編譯成位於 SetMQSeriesHeaderPropertyComponent\SetMQSeriesHeaderPropertyComponent\bin\Debug\ 目錄的 dll。
將組件和標頭檔複製到適當的資料夾
這個程序會將編譯後的組件和標頭檔複製到適當的資料夾。
若要將編譯後的組件和標頭檔複製到適當的資料夾
將編譯的元件 SetMQSeriesHeaderPropertyComponent.dll 複製到 BizTalk 管線元件資料夾。 BizTalk 管線元件資料夾的預設位置是 \Program Files (x86) \Microsoft BizTalk Server < VERSION > 管線元件。
將 MQHeader 屬性檔案 SetMQSMQMDHdrProps.xml 複製到 C:\temp 目錄。
修改 BizTalk Server 管線的專案
此程式會修改BizTalk Server管線的 Visual Studio 專案。
若要修改 BizTalk Server 管線的專案
在 Visual Studio 中,按兩下方案檔 SetMQSeriesHeaderPropertyPipeline\SetMQSeriesHeaderPropertyPipeline.sln來開啟方案。
為專案建立強式名稱金鑰檔案。 若要這麼做,請執行下列作業:
開啟 Visual Studio 命令提示字元。
將目錄變更為 < SamplesPath > \AdaptersUsage\MQSeriesAdapter\MQSSendPipelineComponent。
輸入下列命令:
sn -k MQSSendPipelineComponent.snk
按 ENTER 鍵。 金鑰檔隨即建立。
在方案總管中,以滑鼠右鍵按一下專案,然後按一下 [屬性] 以啟動中心視窗中專案 (的專案Designer) 。
在 [專案Designer] 中,按一下 [簽署]索引標籤。
在右側窗格中,選取 [簽署元件 ] 選項。
按一下 [ 選擇強式名稱金鑰檔案 ] 選項的下拉式清單,然後按一下 [ 流覽]。
流覽至 < SamplesPath > \AdaptersUsage\MQSeriesAdapter\MQSSendPipelineComponent\MQSSendPipelineComponent.snk,按一下 [ 開啟]。
您稍早建立的管線元件已新增至此管線專案的 預先組合 階段。 如果這個元件尚未加入,您必須完成下列步驟將它加入:
在 Visual Studio IDE 中,按一下左側的 [ 工具箱 ] 索引標籤。
以滑鼠右鍵按一下 [ 工具箱],然後按一下 [ 選擇專案]。
在 [ 選擇工具箱專案] 對話方塊中,按一下 [BizTalk 管線元件 ] 索引標籤,選取 [自訂群組件] 來設定 MQseries 標頭屬性元件,然後按一下 [ 確定]。
將 [自訂群組件] 拖曳至 [設定 MQseries 標頭屬性]元件到此管線的 [預先組合 ] 階段。
編譯及部署管線專案
這個程序會編譯及部署 BizTalk Server 管線專案。
若要編譯及部署管線專案
在 [方案總管] 視窗中,以滑鼠右鍵按一下解決方案,然後按一下 [部署解決方案]。 這樣會建置解決方案並將組件部署至 BizTalk 管理資料庫。
確認組件已部署至 BizTalk 管理資料庫:
開啟 [BizTalk 管理主控台]。
按一下以展開 BizTalk 群組 [ < servername > : < management database > ],然後按一下以展開 [元件] 資料夾。
部署的管線元件應該會顯示在 [元件 ] 資料夾下。
建立接收位置
這個程序會建立 BizTalk Server 接收位置。
若要建立接收位置
在 [BizTalk Server管理主控台] 中,以滑鼠右鍵按一下 [接收埠],指向 [新增],然後按一下[單向接收埠]。
在 [ 單向接收埠屬性 ] 對話方塊中,于 [ 名稱 ] 方塊中輸入 「MQReply」,然後按一下 [ 確定]。
在左窗格中,按一下 [ 接收位置] 索引標籤,然後按一下 [ 新增]。
在 [ 接收位置屬性] 對話方塊的 [ 名稱 ] 欄位中,輸入 「ReceiveFile」。
在 [ 傳輸類型] 方塊中,選取 [檔案]。
在 [ 接收處理常式] 欄位中,選取 [BizTalkServerApplication]。
在 [ 接收管線 ] 欄位中,選取 [Microsoft.BizTalk.DefaultPipelines.PassThruReceive]。
在 [ 接收資料夾 ] 欄位中,輸入 「C:\temp\Pickup3」。
在 [ 檔案遮罩 ] 欄位中,輸入 「*.*」。
按一下 [確定],然後按一下 [ 確定 ] 以結束 [ 接收位置屬性 ] 對話方塊。
透過 MQSeries Explorer 建立 MQSeries 佇列
如果您有 MQSeries Server for Windows 安裝的必要權限,則可以透過配接器對話方塊建立 MQSeries 佇列並略過下一個程序。
如果您沒有這類存取權限,可以依照下列程序使用 IBM WebSphere MQ Explorer 來建立佇列。
若要透過 MQSeries Explorer 建立 MQSeries 佇列
按一下 [開始],指向 [ 程式],指向 [IBM WebSphere MQ],然後按一下 [ WebSphere MQ 總管]。
按兩下 [ 佇列管理員],然後按兩下預設佇列管理員。 預設佇列管理員通常會命名為QM_<machine_name> 其中machine_name是您電腦的名稱。
以滑鼠右鍵按一下 [ 佇列],指向 [ 新增],然後按一下 [ 本機佇列]。
在 [建立本機佇列 ] 對話方塊的 [ 佇列名稱] 中,輸入 SETHEADER,然後按一下 [ 確定]。
建立傳送埠和 MQSeries 佇列
這個程序會建立輸出訊息所使用的傳送埠。 如果您還沒有建立 MQSeries 佇列,在建立傳送埠時,也會建立 MQSeries 佇列。
若要建立傳送埠和 MQSeries 佇列
以滑鼠右鍵按一下 [傳送埠],指向 [ 新增],然後按一下 [ 靜態單向傳送埠]。
在 [ 傳送埠屬性 ] 對話方塊的 [ 名稱 ] 方塊中,輸入 「MQSolicitResponse」。
在 [ 傳輸類型] 方塊中,選取 [MQSeries]。
在 [ 傳送管線 ] 方塊中,選取 [SetMQSeriesHeaderPropertyPipeline.SetMQSeriesHeadersSendPipeline]。
在 [篩選]中,新增具有下列名稱/值組的新專案:
將 屬性 設定為 「BTS。ReceivePortName」。
將 運算子 設定為 「==」。
將 [值 ] 設定為 「ReceiveFile」。
注意
這樣會將傳送埠設定為訂閱到達 ReceiveFile 接收埠的訊息。
按一下 [傳輸]。
在 [ 位址 (URI) ] 欄位中,按一下省略號 (...) 按鈕。
在 [ MQSeries 傳輸屬性 ] 對話方塊的 [ 佇列定義 ] 欄位中,按一下省略號 (...) 按鈕。
在 [ 佇列定義 ] 對話方塊的 [ 伺服器名稱 ] 欄位中,輸入您的電腦名稱稱。
在 [ 佇列管理員] 欄位中,選取預設佇列管理員。
在 [佇列] 欄位中,輸入 「SETHEADER」,然後按一下 [ 匯出]。
在 [ 匯出 ] 對話方塊中,按一下 [ 建立佇列],然後按一下 [ 確定 ] 或 [ 完成 ],直到您結束所有對話方塊為止。
啟用接收位置及啟動傳送埠
這個程序會啟用接收位置及啟動傳送埠。
啟用接收位置和啟動傳送埠
在 BizTalk Server 管理主控台中,按一下 [接收埠]。
在詳細資料窗格中,以滑鼠右鍵按一下 MQIn 接收位置,然後按一下 [ 啟用]。
在詳細資料窗格中,以滑鼠右鍵按一下 SetMQHeader 傳送埠,然後按一下 [ 啟動]。
測試應用程式
這個程序會測試應用程式。
若要測試應用程式
將檔案放入 C:\Temp\Pickup3 資料夾中。
啟動 WebSphere MQ Explorer,然後按兩下 [SETHEADER] 佇列,檢查 SETHEADER 佇列中的訊息。
若要查看 SETHEADER 佇列中訊息的所有內容屬性,請完成下列步驟:
按兩下 SETHEADER 佇列以顯示 [訊息瀏覽器 ] 對話方塊。
在 [ 訊息瀏覽器] 對話方塊中,按一下 [ 資料行 ] 以顯示 [ 顯示/隱藏訊息的資料 行] 對話方塊。
在 [可用的資料行] 下,按兩下每個專案,使其顯示在 [訊息瀏覽器 ] 對話方塊中,然後按一下 [ 確定]。
每個訊息的訊息內容屬性應該會顯示在 [ 訊息瀏覽器 ] 對話方塊中。