Reputation: 320
I need help on SalesForce integration with biztalk 2016 environment.
I'm using "WCF-WebHttp" adapter to send request to SalesForce with custom behavior as below and getting below suspended message to FORCE.com.
So, Do i need to add security protocol on my WCF behavior like TLS 1.1, 1.2 to call salesforce API through BizTalk ?
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}
Send Port Screen shot:
Upvotes: 0
Views: 1996
Reputation: 514
have you installed SalesForce certificate? on your Biztalk machine using the biztalk service account?
Upvotes: 0
Reputation: 1510
Sales force requires TLS1.1/1.2 for communication. If you don’t have BizTalk 2016 latest CU5 then you need to set the security protocol either in custom service behavior ( a bit more work) or in a custom pipeline component. All you need is to set System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls11 or Tls12
Or as per CU5 TLS1.2 support is added.
Upvotes: 2
Reputation: 326
This sounds like a trust issue. Maybe the certification chain cannot be resolved / isn't trusted. Check this using certmgr.msc.
Upvotes: 0