使用 URI "https://na59.salesforce.com/services/Soap/c/43.0/00Df4000001dsdy" 发送到发送端口“”上的适配器 "WCF-WebHttp" 的消息已暂停

A message sent to adapter "WCF-WebHttp" on send port "" with URI "https://na59.salesforce.com/services/Soap/c/43.0/00Df4000001dsdy" is suspended

我需要有关 SalesForce 与 biztalk 2016 环境集成的帮助。

我正在使用 "WCF-WebHttp" 适配器以如下自定义行为向 SalesForce 发送请求,并将以下暂停消息发送至 FORCE.com。

那么,我是否需要在我的 WCF 行为上添加安全协议(如 TLS 1.1、1.2)才能通过 BizTalk 调用 salesforce API?

事件查看器错误消息

A message sent to adapter "WCF-WebHttp" on send port "DeveloperForce.SendCreateAccount.REST" with URI "https://na59.salesforce.com/services/Soap/c/43.0/00Df4000001dsdy" is suspended. Error details: System.ServiceModel.Security.SecurityNegotiationException: Could not establish secure channel for SSL/TLS with authority 'na59.salesforce.com'. ---> System.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel. at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result) --- End of inner exception stack trace ---

Server stack trace: at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result) at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result) at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result) at System.ServiceModel.Channels.ServiceChannel.EndRequest(IAsyncResult result)

Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at System.ServiceModel.Channels.IRequestChannel.EndRequest(IAsyncResult result) at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult result) MessageId: {345BABC2-0BE9-42F2-8D47-D123A402B3CD} InstanceID: {FEDE9235-18DB-4E3F-969E-6648A869F45A}

发送端口屏幕截图:

这听起来像是一个信任问题。也许认证链无法解析/不受信任。使用 certmgr.msc.

检查这个
  1. 确保 "DigiCert Global Root CA" 在受信任的根证书颁发机构存储中
  2. 验证 "DigiCert SHA2 Secure Server CA" 在中级证书颁发机构存储中。

销售人员需要使用 TLS1.1/1.2 进行通信。如果您没有 BizTalk 2016 最新的 CU5,那么您需要在自定义服务行为(需要更多工作)或自定义管道组件中设置安全协议。您只需要设置 System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls11 or Tls12

或根据 CU5 添加了 TLS1.2 支持。

您是否安装了 SalesForce 证书?在您的 Biztalk 计算机上使用 biztalk 服务帐户?