共用方式為


逐步解說:模組 3 - 從協調流程存取 SharePoint 屬性

本逐步解說是逐步解說的接續:課程模組 2 - 整合 Office 與Windows SharePoint Services配接器,並示範如何在執行時間存取傳入訊息的Windows SharePoint Services內容屬性,然後根據使用動態埠的屬性判斷該訊息的目的地編排。 如需Windows SharePoint Services配接器的簡介,請參閱什麼是Windows SharePoint Services配接器?。

必要條件

下列是執行本主題所述程序的必要條件:

修改 BizTalk 專案

在此程式中,您會從逐步解說:課程模組 2 - 整合 Office 與Windows SharePoint Services配接器來修改 PurchaseOrder 架構。 本程序說明如何升級結構描述屬性,以便能在 BizTalk 協調流程中輕鬆存取。

修改 PurchaseOrder.xsd 結構描述

  1. 啟動 Microsoft Visual Studio

  2. 按一下 [ 檔案],按一下 [ 開啟],然後按一下 [專案/方案]。

  3. 流覽至檔案 OrderProcess.sln ,然後按一下 [ 開啟]。

  4. 方案總管中,以滑鼠右鍵按一下 OrderProcessSchema.xsd 檔案,然後按一下 [開啟]。

  5. BizTalk 編輯器中,展開 PurchaseOrder

  6. 以滑鼠右鍵按一下 Amount ,按一下 [ 升級],然後按一下 [ 快速升級]。

  7. 按一下 [確定]。

    注意

    Visual Studio 會在目前專案中建立此屬性的屬性架構。

  8. 儲存 PurchaseOrder.xsd

建立協調流程

在此程序中,您要建立新的 BizTalk 協調流程。 此程序會建立用來處理由 Windows Sharepoint Services 配接器接收之訊息的協調流程。

新增 BizTalk 協調流程

  1. 方案總管中,以滑鼠右鍵按一下 OrderProcess 專案,按一下 [新增],然後按一下 [新增專案]。

  2. [類別]底下,選取 [協調流程檔案]。

  3. [範本] 底下,選取 [BizTalk 協調流程]。

  4. 在 [名稱]欄位中輸入 MyCompanyOrderProcessing ,然後按一下 [新增]。

建立接收資訊

在此程序中,您要為協調流程建立新訊息、接收埠以及接收圖形。 此程序說明如何設定協調流程來接收 BizTalk Server 的訊息。

新立新訊息

  1. [協調流程檢視]中,以滑鼠右鍵按一下 [ 訊息],然後按一下 [ 新增訊息]。 這會產生名為 Message_1 的新訊息。

  2. 以滑鼠右鍵按一下 Message_1 ,按一下 [重新命名],然後輸入 Message_PO

  3. 以滑鼠右鍵按一下 Message_PO ,然後按一下 [ 屬性視窗]。

  4. [訊息類型] 屬性中,展開 [ 架構],然後選取 OrderProcess.OrderProcessSchema [架構]。

新增接收埠至協調流程

  1. 在 [工具箱] 的 [BizTalk 協調流程 ] 底下,將 [埠 ] 圖形拖曳至 [埠介面]。 將會啟動 [連接埠組態精靈]。

  2. 在 [歡迎使用] 畫面中,按 [下一步]。

  3. 在 [名稱]欄位中輸入 ReceivePurchaseOrder ,然後按 [下一步]。

  4. 選取 [建立新的埠類型]。

  5. 在 [埠類型名稱] 欄位中輸入PurchaseOrderPT ,然後按 [下一步]。

  6. 在 [ 埠系結] 畫面上,保留預設值,然後按 [ 下一步]。

  7. 按一下 [完成] 。

  8. [協調流程檢視] 的 [ 埠類型] 底下,展開 PurchaseOrderPT 埠類型。

  9. 以滑鼠右鍵按一下 Operation_1 ,按一下 [重新命名],然後輸入 PurchaseOrderOperation

新增 [接收] 圖形至協調流程

  1. 在 [工具箱] 的 [BizTalk 協調流程 ] 底下,將 [接收 ] 圖形拖曳至 [協調流程]。

  2. 以滑鼠右鍵按一下 [接收] 圖形,然後按一下 [ 屬性視窗]。

  3. Activate 屬性設定為 True

    注意

    如果 [啟動] 屬性設定為 false,您就會收到下列錯誤:「錯誤 X2214: 您必須為位於非自我相互關聯連接埠上的非啟動接收,至少指定一個已經初始化的相互關聯集合」。

  4. 在 [名稱]欄位中輸入 Receive_PO

  5. 在 [ 屬性視窗] 中,選取 Message_PO [訊息] 屬性。

  6. 針對Operation屬性選取 ReceivePurchaseOrder.PurchaseOrderOperation.Request 。 這會將埠系結至協調流程Designer中的 [接收] 圖形。

建立傳送資訊

在此程序中,您要為協調流程建立新訊息、傳送埠以及決策結構。 此程序說明如何以決策邏輯來設定協調流程,以及如何設定協調流程將訊息傳送到傳送埠。

新立新訊息

  1. [協調流程檢視]中,以滑鼠右鍵按一下 [ 訊息],然後按一下 [ 新增訊息]。 這會產生名為 Message_1 的新訊息。

  2. 以滑鼠右鍵按一下 Message_1 ,按一下 [重新命名],然後輸入 Message_Task

  3. 以滑鼠右鍵按一下 Message_Task ,然後按一下 [ 屬性視窗]。

  4. [訊息類型] 屬性中,展開 [ 架構],然後選取 OrderProcess.OrderProcessSchema [架構]。

新增傳送埠至協調流程

  1. 在 [工具箱] 的 [BizTalk 協調流程 ] 底下,將 [埠 ] 圖形拖曳至 [埠介面]。 將會啟動 [連接埠組態精靈]。

  2. 在 [歡迎使用] 畫面中,按 [下一步]。

  3. 在 [名稱]欄位中輸入 SendPurchaseOrder ,然後按 [下一步]。

  4. 選取 [使用現有的埠類型]。

  5. [可用的埠類型]底下,選取 OrderProcess.PurchaseOrderPT ,然後按 [ 下一步]。

  6. 在 [ 埠系結] 畫面的 [ 通訊方向] 底下,選取 I'll always be sending messages on this port ,然後按 [ 下一步]。

  7. 按一下 [完成] 。

新增 [傳送] 圖形至協調流程

  1. 在 [工具箱] 的[BizTalk 協調流程]底下,將 [傳送] 圖形拖曳至協調流程Designer。 將它放在 [接收] Receive_PO 圖形下方。

  2. 以滑鼠右鍵按一下 [傳送] 圖形,然後按一下 [ 屬性視窗]。

  3. 在 [名稱]欄位中輸入 Send_PO

  4. 針對Message屬性選取 Message_PO

  5. 針對Operation屬性選取 SendPurchaseOrder.PurchaseOrderOperation.Request 。 這會結合連接埠至 [協調流程設計師] 中的 [傳送] 圖形。

新增 [決定] 圖形至協調流程

  1. 在 [工具箱] 的[BizTalk 協調流程]底下,將 [決定] 圖形拖曳至 [協調流程] Designer。 將它放在 [傳送] 圖形下方 Send_PO

  2. 以滑鼠右鍵按一下 [決定] 圖形,然後按一下 [ 屬性視窗]。

  3. 在 [名稱]欄位中輸入 NeedsApproval

  4. 在 [協調流程] Designer中,按一下 [決定] 圖形上的[Rule_1]。

  5. 在 [屬性 Windows] 中,輸入 ApprovalRequiredName 屬性。

  6. 按一下 [ 運算式 ] 屬性欄位,然後按一下省略號 (...) 按鈕。

  7. 在 [BizTalk 運算式編輯器] 中,輸入或複製下列運算式:

    Message_PO(OrderProcess.PropertySchema.Amount) > 1000  
    
  8. 按一下 [確定]。

新增另一個傳送埠至協調流程

  1. 在 [工具箱] 的 [BizTalk 協調流程 ] 底下,將 [埠 ] 圖形拖曳至 [埠介面]。 將會啟動 [連接埠組態精靈]。

  2. 在 [歡迎使用] 畫面中,按 [下一步]。

  3. 在 [名稱]欄位中輸入 SendToTasksList ,然後按 [下一步]。

  4. 選取 [使用現有的埠類型]。

  5. [可用的埠類型]底下,選取 OrderProcess.PurchaseOrderPT ,然後按 [ 下一步]。

  6. 在 [ 埠系結] 畫面 的 [通訊埠方向]底下,選取 I'll always be sending messages on this port

  7. [埠系結] 底下,選取 Dynamic ,然後按 [ 下一步]。

  8. 按一下 [完成] 。

新增 [傳送] 圖形至 [決定] 圖形

  1. 在 [工具箱] 的[BizTalk 協調流程] 底下,將 [傳送] 圖形拖曳至協調流程Designer。 將它放在圖形下方 ApprovalRequired

  2. 以滑鼠右鍵按一下 [傳送] 圖形,然後按一下 [ 屬性視窗]

  3. 在 [名稱]欄位中輸入 CreateApprovalTask

  4. 選取 Message_Task[訊息 ] 屬性。

  5. 針對Operation屬性選取 SendToTasksList.PurchaseOrderOperation.Request 。 這會結合連接埠至 [協調流程設計師] 中的 [傳送] 圖形。

建立運算式

在此程序中,您要新增 [運算式] 圖形至指派工作路徑值給變數的解決方案中。 此程序說明如何將邏輯新增到協調流程,以修改動態傳送埠的屬性。

新立新的運算式

  1. 在 [工具箱] 的 [BizTalk 協調流程 ] 下,將 運算式 圖形拖曳到 CreateApprovalTask [傳送] 圖形之前。

  2. 以滑鼠右鍵按一下 [運算式] 圖形,然後按一下 [ 屬性視窗]。

  3. 在 [名稱]欄位中輸入 SetPortDestination

  4. 按一下 [運算式 ] 屬性欄位,然後按一下省略號 (...) 按鈕。

  5. BizTalk 運算式編輯器中,輸入下列內容:

    SendToTasksList(Microsoft.XLANGs.BaseTypes.Address) = "wss://localhost/sites/WSSAdapterWalkthrough/Lists/Tasks/";  
    
  6. 按一下 [確定]。

建構新訊息

在此程序中,您要新增 [建構] 圖形至將在協調流程中建構新的訊息類型執行個體的解決方案中。 此程序說明如何建立同時也是輸入訊息複本的新訊息,然後修改此新訊息的內容屬性。 由於訊息在 BizTalk 中是不變的,因此需要執行此步驟;也就是說,一旦您建構了訊息,便無法修改原始訊息。

新增 [建構] 圖形

  1. 在 [工具箱] 的 [BizTalk 協調流程 ] 底下,將 [建構訊息 ] 圖形拖曳到 SetPortDestination [運算式] 圖形之前。

  2. 以滑鼠右鍵按一下 [建構訊息] 圖形,然後按一下 [ 屬性視窗]。

  3. 在 [名稱]欄位中輸入 ConstructTaskMessage

  4. 選取 Message_Task[訊息建構 ] 屬性。

  5. 在 [工具箱] 的[BizTalk 協調流程] 下,將[訊息指派] 圖形拖曳至 ConstructTaskMessage[建構訊息] 圖形。

  6. 在 [ 屬性視窗] 中,輸入 InitTaskMessage [ 名稱] 欄位。

  7. 按一下 [運算式 ] 屬性欄位,然後按一下省略號 (...) 按鈕。

  8. BizTalk 運算式編輯器中,輸入或複製下列內容:

    Message_Task = Message_PO;  
    Message_Task(WSS.ConfigOverwrite) = "no";  
    Message_Task(WSS.ConfigNamespaceAliases)= "orchns='http://OrderProcess.PurchaseOrder'";  
    Message_Task(WSS.ConfigPropertiesXml) = "<ConfigPropertiesXml><PropertyName1>Title</PropertyName1><PropertySource1>Approve %XPATH=//orchns:PurchaseOrder/orchns:PurchaseOrderID%</PropertySource1><PropertyName3>Status</PropertyName3><PropertySource3>Not Started</PropertySource3><PropertyName4>Priority</PropertyName4><PropertySource4>(1) High</PropertySource4></ConfigPropertiesXml>";  
    

    重要

    提供給內容屬性的這些值有區分大小寫。 在設定具有內容屬性的動態連接埠之組態值時,您必須確定使用適當的大小寫,否則,當 BizTalk 嘗試路由文件至指定的傳送埠時,會發生錯誤。

  9. 按一下 [確定]。

  10. 按一下 [檔案] ,然後按一下 [全部儲存] 。

建置 BizTalk 專案

在此程序中,您要建置和部署 BizTalk 專案。 此步驟必須建立和部署 BizTalk Server 於執行階段使用的組件。

建置及部署解決方案

  1. 按一下 [建置],然後按一下 [ 建置 OrderProcess]。

  2. 按一下 [建置],然後按一下 [ 部署 OrderProcess]。

  3. 關閉 Microsoft Visual Studio。

修改接收位置與傳送埠

在此程序中,您要修改現有的接收位置和傳送埠,以便在管線中使用 XML 處理。 接收 XML 管線會保存協調流程處理期間使用的訊息屬性,而傳送 XML 管線會保存套用到協調流程中的訊息屬性,且此屬性後續會用於訊息路由。

修改接收位置

  1. 按一下[開始],指向[所有程式],指向[MicrosoftBizTalk Server],然後按一下[BizTalk Server系統管理]。

  2. 依序展開[MicrosoftBizTalk Server管理 SnapIn]、[BizTalk 群組]、[應用程式]、[BizTalk 應用程式 1],然後按一下 [接收位置] 節點。

  3. 以滑鼠右鍵按一下 SourceLocation ,然後按一下 [ 屬性]。

  4. 在 [ 接收位置屬性 ] 對話方塊的 [ 一般] 底下,選取 XMLReceive[接收管線 ] 屬性。

  5. 按一下 [確定]。

修改傳送埠

  1. 按一下 [ 傳送埠] 節點。

  2. 以滑鼠右鍵按一下 SendToDestination ,然後按一下 [ 屬性]。

  3. 在 [ 傳送埠屬性 ] 對話方塊的 [ 一般] 下,選取 XMLTransmit[傳送管線 ] 屬性。

  4. 選取 [ 篩選] 索引標籤。

  5. 選取現有的條件,然後按 DELETE,然後按一下 [ 確定]。

啟動新的傳送埠

  1. 按一下 [ 傳送埠] 節點。

  2. 以滑鼠右鍵按一下 OrderProcess_1.0.0.0_OrderProcess.MyCompanyOrderProcess_SendToTasksList_<GUID> ,然後按一下 [ 開始]。

注意

若看不見此項目,您可能需要重新整理主控台。

繫結協調流程

在此程序中,您要繫結協調流程至指定的連接埠。 此程序必須將實體連接埠結合至您建立和部署的協調流程。

繫結協調流程

  1. 在 BizTalk Server 管理主控台中,按一下 [協調流程]節點。

  2. 以滑鼠右鍵按一下 OrderProcess.MyCompanyOrderProcessing 協調流程,然後按一下 [ 屬性]。

  3. 選取 [ 系結] 索引標籤

  4. 在 [ 主機] 底下,選取 BizTalkServerApplication [ 主機] 欄位中的 。

  5. 在 [ 系結]下,選取 FromSource 輸入 ReceivePurchaseOrder 邏輯埠。

  6. 在 [ 系結]下,選取 SendToDestination [ SendPurchaseOrder 輸出邏輯埠]。

  7. 按一下 [確定]。

  8. 以滑鼠右鍵按一下 OrderProcess.MyCompanyOrderProcessing 協調流程,然後按一下 [ 啟動]。

透過系統傳送訊息

在此程序中,您要建立 InfoPath 表單,並將它上載至 Windows SharePoint Services 網站。 Windows SharePoint Services 配接器會取得該訊息、封存至「封存」文件庫,然後傳送至「目的地」文件庫。 在處理此訊息期間,將存取 Windows SharePoint Services 內容屬性,以協助決定目的地。

建立 InfoPath 表單以透過系統傳送

  1. 開啟 Web 瀏覽器,巡覽至您所建立的網站 URL。 例如: http://<server_name>/sites/WSSAdapterWalkthrough

  2. 在 [快速啟動] 功能表中,按一下 InfoPathSolutions

  3. 按一下檔案 PurchaseOrder 以顯示 [ 檔案下載 ] 對話方塊,然後按一下 [ 開啟]。 InfoPath 將載入此表單。

  4. 在 [ 採購單識別碼] 欄位中,輸入 1003

  5. 在 [ 帳單到] 欄位中,輸入 John Doe

  6. 在 [ 金額] 欄位中,輸入 1750

  7. 在 [ 採購單日期] 欄位中,輸入 1/3/2005

  8. 按一下 [儲存]。

  9. 在 [另 存新 檔] 對話方塊中,輸入 http://<server_name>/sites/WSSAdapterWalkthrough/Source檔案名 欄位,然後按 ENTER 鍵。

  10. 輸入 PurchaseOrder3.xml檔案名 欄位,然後按一下 [ 儲存]。

  11. 關閉 InfoPath。

  12. 在網頁瀏覽器中,按一下 [檔與清單]。

  13. [文件庫]底下,按一下 [ 目的地]。

  14. 在 [目的地] 文件庫中,您現在會看見已列出您的訊息。 您也可以在 [封存] 文件庫中找到封存的複本。

  15. 按一下 [首頁]。

  16. [清單]底下,按一下 [ 工作]。

  17. 在 [工作] 清單中,您會看見新建立的核准工作。

注意

由於訂單金額超過 $1,000.00,所以建立此工作。

摘要

在此逐步解說中,您已經瞭解如何存取 Windows SharePoint Services 內容屬性,以及如何決定通過動態連接埠之訊息的目的地。

後續步驟

繼續檢視 Windows SharePoint Services 配接器章節的其他部分。 如需詳細資訊,請參閱<另請參閱>中的主題。

另請參閱

何謂 Windows SharePoint Services 配接器?
Windows SharePoint Services 配接器逐步解說