BODS SalesForce Adapter

Hello Experts,

We use SAP Data Services: 4.2 Support Package 2 and get the following error when connecting to any of our salesforce sandboxes (e.g. cs18) with https://test.salesforce.com/services/Soap/u/21.0 as end point :

faultString: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

I downloaded and extracted the contents of wildcardsFinalUpdate.zip but a few things are not yet clear for me:

  1. Do I install the certificates in the certificate store of our windows 2008 R2 server or do I import it using the JAVA configuration or do I need to import them into a SAP Data Services keystore located in the “…\SAP BusinessObjects\Data Services\ssl” directory using the java keytool utility or …?
  2. How do I know whether I also need to install the root certificate? If so, where do I need to install that?

We received this error in connecting with SFDC since SalesForce changed their security model. We followed the steps as stated in this link without success:
https://help.salesforce.com/apex/HTViewSolution?urlname=HTTPS-Security-Certificate-Switch-from-SHA-1-to-SHA-256-hash-algorithms&language=en_US&elq_mid=9184&elq_cid

Any help is welcome, I am not experienced at all in the installation of certificates.


robbydebacker (BOB member since 2014-12-16)

update the cacerts keystore located in %LINK_DIR%\ext\jre\lib\security
or
you can do the following
use the attached cacerts file that has these certificates already imported
stop all SFDC Adapter instances
take backup of %LINK_DIR%\ext\jre\lib\security\cacerts
extract and copy the cacerts from the attachment to the %LINK_DIR%\ext\jre\lib\security
Start all SFDC Adapter instances
cacerts.zip (15.0 KB)


manoj_d (BOB member since 2009-01-02)

Hello manoj_d,

Many many thanks!
This resolved our issue!

Kind regards,

Robby


robbydebacker (BOB member since 2014-12-16)

Hi Manoj, We also had this problem earlier and got fixed after updating the cacerts file and everything runs fine.
Just from last week we are having the same issue while pointing to
https://test.salesforce.com/services/Soap/u/21.0. We also have a ticket opened for SAP. However, Salesforce production URL runs fine.
Also we checked with Salesforce to see if there are any changes done to their security again, the answer is NO.
Manoj, Have you seen this from any customer again? What else could be the issue? Please let me know.

Thanks a lot.

7/15/15 11:05:33 AM Thread[Thread-14,5,main] There was a communication error when talking to Salesforce.com: Connection has been shutdown: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target


pravink19 :us: (BOB member since 2011-08-01)

what is the ticket # ?
check the %LINK_DIR%\ext\jre\lib\security\cacerts file if it still has the certificates that you imported earlier
you can use keytool command to list all the certificates
open a command windows
cd to %LINK_DIR%\ext\jre\lib\security, and run the following command
keytool -list -v -keystore cacerts


manoj_d (BOB member since 2009-01-02)

Thanks for responding Manoj.
Here is the ticket#
SalesForce is adapter is broke again ( 538856 / 2015 )

Actually, we got this fixed by importing verisign certifcate into the cacerts file. Not sure how the jobs were running before and suddenly broke and had to do this.

Thanks


pravink19 :us: (BOB member since 2011-08-01)

to make sure the cacerts used by SFDC Adapter doesn’t gets overwritten by DS Patching, you can copy that file to some other location for example:- %DS_COMMON_DIR%\adapters\SFDC\truststore folder

and set the truststore parameter for SFDC Adpater using following Additional JVM Launcher Argument

add the following after the memory ards
-Djavax.net.ssl.truststore=enter the complete path and file name of the truststore

for example:-
-Djavax.net.ssl.truststore=C:\ProgramData\SAP Business Objects\Data Services\adapters\SFDC\truststore\cacerts

restart Adapter instance


manoj_d (BOB member since 2009-01-02)

I having same problem…
We are using Business Objects Data Integrator, BODI 11.7.3.0 version. Upgrade to data services is not an option right now.

We are using the web services call to connect to salesforce from BODI. Here is web service end point:
https://na29.salesforce.com/services/Soap/u/7.0

I have updated the security certificate on BODI using keytool command. But the adaptor still fails to connect with salesforce.com
It was working fine earlier before security certificate update.

How this problem can be solved?
:hb:

I used following command to update the cacert file on BODI side:
C:\Program Files\Business Objects\Data Integrator 11.7\ext\Jre\Bin>keytool.exe -import -alias SFDCfile -file “C:\BODI_ISSUE_20160311\SalesforceSecurityCert\login.salesforce.com.cer” -keystore “C:\Program Files\Business Objects\Data Integrator 11.7\ext\Jre\lib\security\cacerts”


vikramvasisht (BOB member since 2008-02-18)

Hi
Any help will be appreciated.


vikramvasisht (BOB member since 2008-02-18)

you are getting this error when connecting to sandbox or prod ? the certificate will be different for different server, I think the certificate posted in the above link are for sandbox

you can get the certificate from salesforce.com or try downloading it from the browser by opening a link to Salesforce.com, if you click on the security icon it will give you an option to save the certificate to file


manoj_d (BOB member since 2009-01-02)

Hello manoj_d,

After updating the CACERT file in BODS 4.2 SP6 with the attached one, BODS able to connect to Salesforce production but not to Salesforce preprod/sandbox.

we are getting below error while connecting to Salesforce Sandbox.
30/12/16 12:37:42 Thread[Thread-19,5,main] There was a communication error when talking to Salesforce.com: org.apache.axis2.databinding.ADBException: Unexpected subelement {urn:fault.partner.soap.sforce.com}upgradeURL
30/12/16 12:37:42 Thread[Thread-19,5,main] Fault-tolerance-login-failed : There was a communication error when talking to Salesforce.com: org.apache.axis2.databinding.ADBException: Unexpected subelement {urn:fault.partner.soap.sforce.com}upgradeURL
30/12/16 12:37:42 Thread[Thread-19,5,main] Retry : 3. Waiting 45 mins before trying to login to Salesforce.com again.

To connect to Salesforce sandbox, we are using https://test.salesforce.com/services/Soap/u/21.0 webservice url.

Could you please help us to fix this issue.

Regards,
Vasuda.


Vasuda Peddi (BOB member since 2016-07-01)

Hello Vasuda Peddi

I’m having the exact same issue as you with BODS 4.2 SP6 and salesforce … how did you resolved this ?

Thanks by advance,
Ezzarro


ezzarro (BOB member since 2017-01-27)

Guys, if you are running into these issues please raise a SAP support ticket.

Posting it here is educational for us but is not going to get the problem picked up by SAP support or the SAP Data Services product team.


ErikR :new_zealand: (BOB member since 2007-01-10)

Gurus,

Have a similar problem with setting up a datastore from SAP BODS 4.1 SP2 to SFDC sandbox. I have an enterprise account and after testing the enterprise WSDL through soapui and passing login and gettimestamp request successfully faced the following in SAP BODS. Any help is appreciated.

I have already updated my Cacert (that i took from the above posts… thanks Manoj!) and am at my wits end in figuring out the issue.

When i use the enterprise end point i receive the following error (Got the endpoint from the WSDL)

4/19/17 7:22:23 PM There was a communication error when talking to Salesforce.com: No operation available for request {urn:partner.soap.sforce.com}login
4/19/17 7:22:23 PM Fault-tolerance-login-failed : There was a communication error when talking to Salesforce.com: No operation available for request {urn:partner.soap.sforce.com}login

I’m not sure why the error is referring to the partner.soap.sforce.com even though i used the enterprise endpoint.

I also tried with the partner end point and received the below error
https://test.salesforce.com/services/Soap/u/39.0

4/19/17 8:22:14 PM There was a communication error when talking to Salesforce.com: org.apache.axis2.databinding.ADBException: Unexpected subelement upgradeURL
4/19/17 8:22:14 PM Fault-tolerance-login-failed : There was a communication error when talking to Salesforce.com: org.apache.axis2.databinding.ADBException: Unexpected subelement upgradeURL

I’ve tried various combinations for the numbers on the endpoints based on previous post (12,26,29 etc) but nothing has worked.

Any help is appreciated.


nalphonse (BOB member since 2017-04-18)

hi Vasuda and Ezzarro,

I also face the same issue, using DS4.2 sp3 and salesforce sandbox. May I know any resolution or updates from your SAP Support ticket?

Error:
There was a communication error when talking to Salesforce.com: org.apache.axis2.databinding.ADBException: Unexpected subelement {urn:fault.partner.soap.sforce.com}upgradeURL
Fault-tolerance-login-failed : There was a communication error when talking to Salesforce.com: org.apache.axis2.databinding.ADBException: Unexpected subelement {urn:fault.partner.soap.sforce.com}upgradeURL

regards,
Anne


anneneo (BOB member since 2006-02-09)