That same EBS customer may be adopting SFDC; her on premise SOA based integrations can now invoke OIC services to update SFDC Account details etc.
Net, net - we have bidirectional interoperability. One can create SOA Suite connections in OIC, leveraging the SOA Suite adapter. One can also create OIC Connections in JDeveloper -
All one needs to enter for the OIC connection is the url and userid/password -
The url format is simply https://yourOICinstance:443
Now back to the JDeveloper and my OIC connection -
Note, you cannot browse the available services in the IDE connections panel. To do that we need to add a REST service to our SOA composite and then "browse" the available REST based OIC integrations -
I choose a very simple OIC integration - AA-Hello-World -
Note the padlock icon on OICHalloWorld - this is where I need to set the wsm policy which will allow me to pass the basic auth credentials to OIC.
Naturally, the csf-map and key need to exist - csf map must be called oracle.wsm.security.
So let's look at AA-Hello-World in OIC and check out the request body -
Firstly, I add the following 2 process variables - one for the request and one for the response from OIC.
Note the type and QName -
I edit InvokeOIC to use these variables -
Calling SOA and Service Bus processes from OIC
Firstly, create the SOA Suite connection -
Note the use of the Connectivity Agent - it needs to be installed locally to SOA Suite.
Invoking Service Bus Proxies from OIC
I begin with Service Bus -
Here is a simple Proxy, deployed to my SOA instance -
This is simply an Hello World example as Gaeilge -
I create an app-driven orchestration and drop the SOA connection and configure as follows -
Here is my integration -
I just need to map a name to CallServiceBus. My request payload is a simple order, so I will map the customer name -
Here is the Target again -
Finally, I map the response from Service Bus to the OIC process response -
Now to testing this -
great stuff - now I expose the Service Bus Proxy as a REST service -
I test in JDeveloper -
Back in OIC, I edit the integration to invoke the REST service -
Activate and test -
Invoking BPEL Processes from OIC
All it does is return the string - "Approved".
I go back to my OIC integration - and drop the SOA Suite connection again -
I do the request / response mappings -
Here is the response mapping -
Activate and test -
Please note - the schema for the BPEL process request/response is included inline in the BPEL WSDL -