2012-03-29 101 views
1

我試圖從Biztalk與SalesForce進行通信。集成Biztalk和SalesForce

要進行POC,我只需登錄我試過如下: 的Visual Studio: 生成模式從Salesforce合作伙伴WSDL

的Biztalk: 我做了一個接收位置讀取包含用戶名一login.xml消息,密碼。然後導入SforceService.BindingInfo.xml以在其上創建我的sendport和設置過濾器。

When I run the example i get the following exception: 
WcfSendPort_SforceService_Soap 
https://login.salesforce.com/services/Soap/u/24.0 
    System.InvalidOperationException: An action mapping was defined but BTS.Operation 
was not found in the message context. 
at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient 

我要來調用Web服務SalesForce公司以下操作:

<Operation Name="login" Action="" /> 

如何調用登錄,而無需使用業務流程的任何想法?

回答

1

http://msdn.microsoft.com/en-us/library/bb743856.aspx

在表達式形狀指定動作映射爲WCF.Action不被支持。您需要在WCF傳輸屬性對話框中指定動作映射。然後WCF適配器將通過使用BTS.Operation上下文屬性來查找SOAP操作,該操作由業務流程設置爲發送消息的端口上的操作名稱。

如果傳出消息使用未設置http://schemas.microsoft.com/BizTalk/2003/system-properties#Operation屬性的基於內容的路由(CBR)進行路由,則WCF發送適配器會將整個操作映射字符串設置爲傳出WCF消息的操作。要解決此問題,您可以執行以下任一操作:

將發送端口上的操作字段設置爲http://MyService/IMyContract/MyAction1

在管道中設置BTS.Operation上下文屬性。例如,將值http://schemas.microsoft.com/BizTalk/2003/system-properties#Operation設置爲Operation1。

將操作字段留空並使用來自傳入消息的操作。

您還可以使用BizTalk WCF服務使用嚮導通過單個操作或操作映射來使用WCF服務。有關更多詳細信息,請參閱如何使用BizTalk WCF服務使用嚮導來使用WCF服務。