Resolving the OIC Integration Activation Error When More Than One Salesforce Connection is Used in the Integration

Resolving the OIC Integration Activation Error When More Than One Salesforce Connection is Used in the Integration

When more than one Salesforce connection is used in the same integration flow, Oracle Integration Cloud (OIC) will throw the following integration activation error:

oracle.xml.parser.schema.XSDException: Can not build schema ‘urn:enterprise.soap.sforce.com’ located at ‘urn:enterprise.soap.sforce.com.__OAUX_GENXSD_.TOP.XSD’ [Cause=Can not build schema ‘urn:enterprise.soap.sforce.com’ located at ‘urn:enterprise.soap.sforce.com.__OAUX_GENXSD_.TOP.XSD’]”

Use Case

When an Incident is created in Oracle Service Cloud, depending on the Service Category selected, the Incident is sent to one of the two Salesforce destination systems.

Integration Flow:

Below is the OIC interface for the above use case, which is using two SFDC connections (invoke).

Integration Activation Error:

When the OIC interface with two SFDC connections is activated, the following error is received:

Error in the log file:

The process domain is encountering the following errors while loading the process “DEMO_TWO_TARGET_SFDC_ERROR” (composite “default/DEMO_TWO_TARGET_SFDC_ERROR!01.00.0000*soa_3fc16407-f5b1-4c6e-9fb7-b28be9d4758d”): BPEL 1.1 compilation failed: DEMO_TWO_TARGET_SFDC_ERROR.bpel(line 149): part “parameters” of variable “ics_api_internal_variable2” is defined as XML element “{http://xmlns.oracle.com/cloud/adapter/salesforce/CreateServiceRequest_REQUEST}create” whose definition cannot be resolved because “oracle.xml.parser.schema.XSDException: Can not build schema ‘urn:enterprise.soap.sforce.com’ located at ‘urn:enterprise.soap.sforce.com.__OAUX_GENXSD_.TOP.XSD’ [Cause=Can not build schema ‘urn:enterprise.soap.sforce.com’ located at ‘urn:enterprise.soap.sforce.com.__OAUX_GENXSD_.TOP.XSD’]”.

Solution:

To resolve this error, split the integration into two flows – a main flow and a sub flow.

  1. The main flow receives the Incident record from Oracle Service Cloud.
  2. If Service = “Transportation”, the Incident data is mapped to the Service Request object of Salesforce 1.
  3. The Salesforce web service is invoked using the Salesforce 1 SOAP connection to create a Service Request in Salesforce 1; otherwise, the data is mapped to the input parameter of the sub flow and invokes the sub flow.
  4. The sub flow invokes the Salesforce web service using the Salesforce 2 SOAP connection to create a Hotline Concern in Salesforce 2. 

As always, if you have any questions, please leave us a comment here and one of our experts will get back to you.

Thanks for stopping by!

Tagged with: , , , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

*