共用方式為


如何:使用商務規則原則根據訊息內容來動態路由訊息

目標

本節示範如何使用BizTalk Server Business Rules Engine (BRE) 原則,建立根據訊息內容屬性來決定訊息端點的路線,然後使用 BizTalk Server FILE 配接器來路由傳送訊息。

在此操作說明主題中,您將完成下列步驟:

  • 建立商務規則原則來評估訊息類型。

  • 使用商務規則原則建立路線傳閱名單以動態路由傳送。

  • 使用路線測試用戶端範例應用程式來測試路線。

必要條件

本操作說明主題中的程式需要完成 開發活動的必要條件

步驟

若要建立 BRE 原則,以使用訊息內容屬性路由傳送訊息

  1. 按一下工作列上的 [開始],指向 [所有程式],指向[BizTalk Server],然後按一下 [商務規則編輯器]。

  2. 在 [原則總管] 中,以滑鼠右鍵按一下 [ 原則],然後按一下 [ 新增原則]。 將原則命名為 RouteBasedOnMessageType

    新增北美洲訂單的路由規則

  3. RouteBasedOnMessageType 原則中,以滑鼠右鍵按一下 [版本 1.0] (未儲存) ,然後按一下 [ 新增規則]。 將規則 命名為 SetNAOrderEndpoint

  4. 在 [規則] 視窗中,以滑鼠右鍵按一下 [ 條件],指向 [ 述詞],然後按一下 [ 等於]。

  5. 在 [事實總管] 中,展開ESB。CoNtextInfo詞彙,展開[版本 1.0],然後將[內容訊息類型] 事實拖曳至 [條件] 下的argument1節點。

    注意

    Microsoft BizTalk ESB 工具組包含數個可用來建立規則的詞彙。 其中一些應該取代或擴增您自己的詞彙。 例如, DynamicRunTimeMaptypes 原則具有 GlobalBank 範例中提供之地圖的定義。

  6. 按一下 argument2 節點,然後輸入 http://globalbank.esb.dynamicresolution.com/northamericanservices/#OrderDoc

  7. 在 [事實總管] 中,展開 ESB。EndPointInfo 詞彙,展開 1.0版,然後將 [設定端點輸出傳輸位置 定義] 拖曳至 [動作]。

  8. 按一下< 空字串 >,然後輸入C:\HowTos\Out\NorthAmerica%MessageID%.xml

  9. 從 [事實總管] 中,將 [設定端點輸出傳輸類型 定義] 拖曳至 [動作]。

  10. 在 [事實總管] 中,展開ESB。TansportTypes詞彙,展開1.0版,然後將配接器提供者定義拖曳至< 空字串 >

  11. 在 [動作] 窗格中,展開 [ 配接器提供者 ] 下拉式清單,然後按一下 [ 檔案]。

    發佈和部署原則

  12. 在 [原則總管] 的 [RouteBasedOnMessageType ] 原則下,以滑鼠右鍵按一下 [版本 1.0] (未儲存) ,然後按一下 [ 發佈]。

  13. 在 [原則總管] 的 [RouteBasedOnMessageType] 原則下,以滑鼠右鍵按一下 [版本 1.0 - 已發佈],然後按一下 [ 部署]。

    建立 ESB 路線網域特定語言 (DSL) 模型

  14. 在 Visual Studio 中,開啟 C:\HowTos\Patterns\Patterns.sln。

  15. 在 方案總管 中,以滑鼠右鍵按一下[行程][程式庫] 專案,指向 [新增],然後按一下 [新增路線]。

  16. 在 [ 名稱] 方塊中,輸入 MessageType,然後按一下 [ 新增]。

    設定路線的屬性

  17. 在 Visual Studio 中,按一下 MessageType.itinerary的設計介面。 在MessageType屬性視窗中,設定下列屬性:

    1. 在 [ 模型匯出工具 ] 下拉式清單中,按一下 [XML 路線匯出工具]。

    2. [擴充功能設定 ] 區段中,按一下 [行程 XML 檔案 ] 屬性旁的省略號按鈕 (...) 。

    3. 在 [ 選取 XML 檔案 ] 對話方塊的 [ 檔案名 ] 方塊中,輸入 C:\HowTos\Itineraries\MessageType,然後按一下 [ 儲存]。

      注意

      此步驟可讓您將路線匯出為 XML 到本機檔案位置。 將路線匯出至本機檔案位置,而不是前往路線資料庫,可讓您使用 ESB 測試用戶端應用程式來測試路線。 您稍後將會在本操作說明主題中完成此程式。

    定義路線的結構

  18. 從 [工具箱] 中,將 On-Ramp 模型專案拖曳至設計介面。 在OnRamp1屬性視窗中,設定下列屬性:

    1. 按一下 [名稱] 屬性,然後輸入 ReceiveOrders

    2. 在 [ 擴充器] 下拉式清單中,按一下 [On-Ramp ESB Extender]。

    3. [BizTalk 應用程式 ] 下拉式清單中,按一下 [Microsoft.Practices.ESB]。

    4. 在 [ 接收埠 ] 下拉式清單中,按一下 [OnRamp.Itinerary]。

  19. 從 [工具箱] 中,將 [路線服務 ] 模型專案拖曳至設計介面,然後將它放在 On-Ramp 模型元素的右邊。 在ItineraryService1屬性視窗中,設定下列屬性:

    1. 按一下 [名稱] 屬性,然後輸入 BreRoute

    2. 在 [ 路線服務擴充項 ] 下拉式清單中,按一下 [ 傳訊擴充器]。

      注意

      此屬性會定義在管線 (傳訊) 中進行進程。 或者,如果流程將在協調流程中發生,請將 [路線服務擴充項 ] 屬性設定為 Orchestration Extender

    3. 在 [ 容器 ] 下拉式清單中,展開 [ReceiveOrders],然後按一下 [ 接收處理常式]。

    4. 在 [ 服務名稱 ] 下拉式清單中,按一下 [Microsoft.Practices.ESB.Services.Routing]。

  20. 以滑鼠右鍵按一下BreRoute模型專案的Resolver集合,然後按一下 [新增解析程式]。 在Resolver1屬性視窗中,設定下列屬性:

    1. 按一下 [ 名稱] 屬性,然後輸入 ByMessageType

    2. 在 [ 解析程式實 作] 下拉式清單中,按一下 [Bre Resolver 擴充功能]。

    3. 在 [ 原則 ] 下拉式清單中,按一下 [RouteBasedOnMessageType v 1.0]。

  21. 在 [工具箱] 中,按一下 [連接器]。 將 連接從 ReceiveOrders 模型專案拖曳至 BreRoute 模型專案。

  22. 從 [工具箱] 中,將 Off-Ramp 模型元素拖曳至設計介面,然後將它放在 BreRoute 模型元素的右邊。 在OffRamp1屬性視窗中,設定下列屬性:

    1. 按一下 [ 名稱] 屬性,然後輸入 SendBasedOnType

    2. 在 [ 擴充器] 下拉式清單中,按一下 [關閉坡形 ESB 擴充器]。

    3. [BizTalk 應用程式 ] 下拉式清單中,按一下 [GlobalBank.ESB]。

    4. 在 [ 傳送埠 ] 下拉式清單中,按一下 [DynamicResolutionOneWay]。

  23. 從 [工具箱] 中,將 [路線服務 ] 模型專案拖曳至設計介面,然後將它放在 BreRoute 模型元素與 SendBasedOnType 模型元素之間。 在ItineraryService1屬性視窗中,設定下列屬性:

    1. 按一下 [ 名稱] 屬性,然後輸入 SendPortFilter

    2. 在 [ 路線服務擴充項 ] 下拉式清單中,按一下 [關閉坡形擴充器]。

    3. [關閉坡形] 下拉式清單中,展開 [SendBasedOnType],然後按一下 [ 傳送處理常式]。

  24. 在 [工具箱] 中,按一下 [連接器]。 將 連接從 BreRoute 模型專案拖曳至 SendPortFilter 模型專案。

  25. 在 [工具箱] 中,按一下 [連接器]。 將 連線從 SendPortFilter 模型專案拖曳至 SendBasedOnType 模型專案。

    匯出模型以搭配路線測試用戶端使用

  26. 在 Visual Studio 中,以滑鼠右鍵按一下 MessageType 路線的設計介面,然後按一下 [ 匯出模型]。

    注意

    路線的 XML 版本會在 Visual Studio 中開啟。

  27. 儲存所有專案成品。

  28. 在 Windows 檔案總管中,流覽至 C:\HowTos\行程,並注意建立路線 XML (MessageType.xml) 。

    測試路線

  29. 使用開發 活動 必要條件 (C:\HowTos\ESB.Itinerary.Test.exe - 快捷方式) 期間建立的快捷方式,開啟路線測試用戶端應用程式範例應用程式。

  30. 在 [路線測試用戶端] 中,清除 [ 使用 WCF 服務 ] 核取方塊,然後按一下 [ 載入路線]。

  31. 在 [ 開啟路線檔案 ] 對話方塊中,流覽至 C:\HowTos\行程。 選取 [MessageType.xml],然後按一下 [ 開啟 ] 以載入路線。

  32. 按一下 [確定 ] 以清除 [成功載入路線 ] 訊息。

  33. 在 [路線測試用戶端] 中,按一下 [ 載入消息 ] 方塊旁的省略號按鈕 (...) 。

  34. 在 [ 選取要載入的 XML 檔 ] 對話方塊中,流覽至 C:\HowTos。 選取 NAOrderDoc.xml,然後按一下 [ 開啟 ] 以載入測試訊息。

  35. 按一下 [ 提交要求] 按鈕。 測試完成時,按一下 [ 確定 ] 以關閉出現的確認。

  36. 在 Windows 檔案總管中,流覽至 C:\HowTos\Out\。 確認 NorthAmerica%MessageID%.xml 訊息已寫入目錄。

其他資源

如需詳細資訊,請參閱下列相關主題: