Monday, February 7, 2011

SDFC (Salesforce.Com) integration with Oracle Fusion Middleware and SOA SUITE

While on a recent assignment, a task assigned to MindTelligent team was to integrate SDFC (Salesforce.com) services with Oracle Application 11i and R12 using Oracle SOA suite 11g 11.1.1.3 and Fusion Middleware 10.3.3.  For composites, trying to access the Salesforce services deployed in SFDC.com, we need to configure the Weblogic Fusion Middleware to be able to access the services outside the firewall. Also, we need to add Salesforce certificates.

The first and foremost step is to configure the Weblogic/ Oracle SOA domain  to access remote Salesforce services.

For SOA composites deployed on Oracle 11g version 11.1.1.3, to consume web services the following changes need to be made to the setSOADomainEnv.sh on Linux  OR  setSOADomainEnv.cmd file. This section will discuss the Linux deployments only.

The setSOADomainEnv.sh can be found in the directory $WL_HOME/user_projects/domains/base_domain/bin.

The  EXTRA_JAVA_PROPERTIES variables needs to be modified as follows

EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES} -Dhttps.proxySet=true -Dhttps.proxyHost=localdomain.com -Dhttps.proxyPort=443 -Dhttp.nonProxyHosts=localhost.localdomain|127.0.0.1|192.168.1.7"

export EXTRA_JAVA_PROPERTIES

https.proxyHost: Your proxy Host
https.proxyPort:   Your proxy port, 443 is the default port for https
http.nonProxyHosts: Your non proxy servers, the list can be separated with a "|"


The second most significant step is to install and configure the https://login.salesforce.com certificates

Download the certificates from https://login.salesforce.com and import the certificates using the
Java Keytool

keytool -importcert -alias login.salesforce.com -file login.salesforce.com  -keystore mykeysotre.jks

Configure the jks in the setSOADomain.sh.



After the changes have been made, restart the Admin Weblogic Server and Managed SOA Server.


For questions, comments and feedback  please contact:
 Harvinder Singh Saluja

4 comments:

  1. HI Harvinder,

    Thanks for this post of yours. if its feasible for you can you give steps in details

    1)which certificates are needed. is it ok if its only the client certificate is imported to Oracle SOA Suite.

    2) How to configure the Oracle SOA Suite such that it accepts the requests from Salesforce.

    ReplyDelete
  2. Mannu. Please my response to your questions.
    1.) You will need the public certificate for the salesforce.com. Please access the webservice via the browser https://....... and when you are redirected by the webservice, download the cert using the browser. Alternatively, please ask the salesforce support team to send you the "public" certificate.
    2.) Create a keystore, give it any name: myTrust.jks and copy this certificate in the MW_HOME/server/lib directory. On windows this is C:\OIAM\Middleware\wlserver_10.3\server\lib folder.

    3.) In the rectory $MW_HOME/user_projects/domain/base_domain/bin (Windows: C:\OIAM\Middleware\user_projects\domains\base_domain\bin) in the cmd/sh file setDomainEnv.sh/setDomainEnv.cmd, modify the line set EXTRA_JAVA_PROPERTIES=%EXTRA_JAVA_PROPERTIES% -Dsoa.archives.dir=%SOA_ORACLE_HOME%\soa -Dsoa.oracle.home=%SOA_ORACLE_HOME% -Dsoa.instance.home=%DOMAIN_HOME% -Dtangosol.coherence.clusteraddress=227.7.7.9 -Dtangosol.coherence.clusterport=9778 -Dtangosol.coherence.log=jdk -Djavax.xml.soap.MessageFactory=oracle.j2ee.ws.saaj.soap.MessageFactoryImpl -Dweblogic.transaction.blocking.commit=true -Dweblogic.transaction.blocking.rollback=true -Djavax.net.ssl.trustStore=%WL_HOME%\server\lib\DemoTrust.jks to
    set EXTRA_JAVA_PROPERTIES=%EXTRA_JAVA_PROPERTIES% -Dsoa.archives.dir=%SOA_ORACLE_HOME%\soa -Dsoa.oracle.home=%SOA_ORACLE_HOME% -Dsoa.instance.home=%DOMAIN_HOME% -Dtangosol.coherence.clusteraddress=227.7.7.9 -Dtangosol.coherence.clusterport=9778 -Dtangosol.coherence.log=jdk -Djavax.xml.soap.MessageFactory=oracle.j2ee.ws.saaj.soap.MessageFactoryImpl -Dweblogic.transaction.blocking.commit=true -Dweblogic.transaction.blocking.rollback=true -Djavax.net.ssl.trustStore=%WL_HOME%\server\lib\NewTrust.jks

    ReplyDelete
  3. Hi Harvinder Can yu share information on Workday Integration using Oracle SOA Suite..?
    Really this will helps me a lot

    ReplyDelete
    Replies
    1. Kiran, Did you get this working? I have similar requirement, any input on this subject will help.

      Delete

ForgeRock IAM : OpenDS (Open Directory Server). Importing LDIF files

The most efficient method of importing LDIF data is to take the OpenDJ server offline. Alternatively, you can schedule a task to import the ...