步驟 3a:將 Salesforce Opportunity Notification 接收到 BizTalk Server
在此步驟中,我們會開始建立 BizTalk Server。 我們應該先包含商機通知訊息的訊息架構,我們會從 Salesforce 取得,然後開始建立協調流程來處理訊息。
包含 Salesforce 商機通知架構
登入 Salesforce.com 入口網站。 在 Salesforce 入口網站中,按下頁面右上角的登入名稱,然後按兩下 [ 設定]。
在左窗格中,展開 [ 應用程式設定] 底下的 [ 建立],展開 [ 工作流程 & 核准],然後按兩下 [ 工作流程規則]。
在 [ 所有工作流程規則 ] 頁面中,按下您稍早建立的 [已關閉商機 ] 工作流程。
在 [ 關閉商機 工作流程規則] 頁面中,按兩下 [ 新增][選項1 輸出訊息工作流程] 動作。
在 [ NewOp1 輸出訊息工作流程] 動作頁面中,以滑鼠右鍵按兩下 [按兩下 WSDL] 連結,按兩下 [另存 目標為],然後指定您要儲存 WSDL 的位置。
注意
您必須以 .wsdl 擴展名儲存盤案。
在 Visual Studio 中建立 BizTalk Server。 在本教學課程中,讓我們將專案命名為
BtsSalesforceIntegration
。以滑鼠右鍵按兩下 方案總管中的 BizTalk Server 專案,指向 [新增],然後按兩下 [新增產生的專案]。
在 [ 新增產生的專案 ] 對話框中,按兩下 [ 取用 WCF 服務],然後按兩下 [ 新增 ] 以啟動 BizTalk WCF 服務取用 精靈。 在歡迎頁面上,按一下 [Next] (下一步)。
在 [ 元數據來源 ] 頁面上,選取 [ 元數據檔案 (WSDL 和 XSD) ] 選項,然後按 [ 下一步]。
在 [ 元數據檔案] 頁面上,按兩下 [ 新增],然後流覽至您儲存從 Salesforce 入口網站下載之 WSDL 檔案的位置。 選取 WSDL 檔案,然後按 [ 下一步]。
在下一個頁面中,將命名空間設定為
NotificationService
,然後按兩下 [ 匯入]。 精靈會將架構檔案和協調流程新增至 BizTalk Server 專案。 從 Salesforce 接收商機通知的訊息架構 NotificationService_soap_sforce_com_2005_09_outbound.xsd。
建立協調流程以接收通知訊息
完成 BizTalk WCF 服務取用精靈之後,此範例中的協調流程 (NotificationService.odx,) 新增至 BizTalk Server 專案。
開啟協調流程檔案,然後在 [協調流程] 檢視中新增兩個新的訊息變數。
NotificationMessage
將它們命名為 與NotificationAck
。 設定這些訊息變數的訊息類型,如下所示:將 NotificationMessage 設定為 NotificationService.NotificationService_soap_sforce_com_2005_09_outbound.notifications。 此訊息變數代表從 Salesforce 收到的商機通知訊息。
將 NotificationAck 設定為 NotificationService.NotificationService_soap_sforce_com_2005_09_outbound.notificationsResponse。 此訊息變數代表傳送回 Salesforce 的機會通知通知訊息。
將接收圖形新增至協調流程。 在圖形上設定下列屬性:
將 [啟用] 設定為 True。
將 [名稱] 設定為 ReceiveNotificationMessage。
將 [訊息 ] 設定為 NotificationMessage。
在接收圖形之後新增建構訊息圖形。 將訊息圖形命名為
ConstructNotificationResponse
,並將 Messages Constructed 屬性設定為NotificationAck
。 在建構訊息中,我們也會建立對應,以產生要傳回 Salesforce 的通知通知通知訊息。在 [建構訊息] 圖形內,新增 [轉換] 圖形。 按兩下 [轉換] 圖形,然後在 [轉換組態] 對話框中,選取 [ 新增對應] 選項。
將對應名稱指定為
BtsSalesforceIntegration.MapNotificationResponse
。將 [來源] 設定為 NotificationMessage ,並將 [目的地] 設定為 NotificationAck。
確定 [當我按兩下 [確定] 複選框時,已選取 [ BizTalk 對應程式 ]。
在 MapNotificationResponse.btm 中,我們將建立要傳回 Salesforce 的通知回應。 每次 Salesforce 傳送通知時,其預期會傳回通知。 通知回應消息的架構顯示回應中的 Ack 元素的類型為 Boolean。 因此,在對應中,您必須卸除 值對應 運算質,並將其兩個輸入值設定為 ([條件] 和 [結果)
true
]。 按兩下 [確定 ] 以儲存運算質。將 值對應 運算質連接到目的地架構中的 Ack 元素。
在協調流程的 [建構訊息] 圖形之後,新增將用來將通知傳回 Salesforce 的傳送圖形。
將 [名稱] 設定為 SendNotificationAck。
將 [訊息 ] 設定為 NotificationAck。
在協調流程中,新增埠以接收 Salesforce 通知訊息,並傳送回應中的通知。 在 [埠組態精靈] 中,選取下列選項:
將連接埠名稱指定為
SalesforceNotificationPort
。選取選項以建立新的埠類型。
將 通訊模式 設定為 要求-回應。
將 [通訊的埠方向 ] 設定為 [我將會接收要求並傳送回應],並將[埠系結 ] 設定為 [稍後指定]。
將埠 的要求 作業連接到 Receive 圖形 (ReceiveNotificationMessage) ,並將埠的 回應 作業連接到 SendNotificationAck (SendNotificationAck) 。 下列螢幕快照說明協調流程的一部分,該部分會接收 Salesforce 的機會通知,並傳回通知:
現在,我們已設定從 Salesforce 收到商機通知並傳回通知的解決方案。 在後續的主題中,我們將以此解決方案為基礎,開始處理商機通知,以取得更多有關可用銷售商機類型的詳細數據。