There will be cases where we need to use Oracle Fusion EssWebService to submit a job set or to submit a BICC job etc through OIC.
If we do this from SOAP UI or any other web service testing tool then it will work as expected.
https://<host name>:<port>/ess/esswebservice?wsdl
or https://<host name>:<port>/ess/bi/esswebservice?wsdl in our example for bicc job
But if we try to use this wsdl URL similar to what we do for SOAP connections in OIC, then it will give error if we click on validate and test while creating the soap connection.
The Issue is with the WSDL file which doesn't have all definitions.
If we open the above wsdl url in the browser we can see the below import for abstract wsdl:
<import namespace="http://xmlns.oracle.com/scheduler" location="https://<host>:443/ess/esswebservice?WSDL=ESSWebServiceAbstract.wsdl"/>
or below in our example case
<import namespace="http://xmlns.oracle.com/scheduler" location="https://<host>:443/bi/ess/esswebservice?WSDL=ESSWebServiceAbstract.wsdl"/>
Now to use th ESSWebservice in OIC connection we need to merge the abstract wsdl with the main one to have all the definitions.
Below steps need be performed to achieve the same:
- Open the above imported WSDL in a browser and save (https://<host>:443/ess/esswebservice?WSDL=ESSWebServiceAbstract.wsdl
) or https://<host>:443/bi/ess/esswebservice?WSDL=ESSWebServiceAbstract.wsdl in our example case - Take all definitions from the above AbstractWsdl
- Merge into esswebserivce wsdl
- In SOAP Connection upload the merged WSDL
here is the Oracle support reference for the issue:
While Performing Validate And Test Connection For Fusion ESSWebService It Fails With Error “Error Code: SOAPADAPTR-20027” (Doc ID 2730653.1)
We get a sample merged wsdl from this.
We need to update the URLs and certificate section.
The above sample merged wsdl provided in Oracle support will avoid confusion and we simply need to update the URLs abd certificate for our need.
save the file with desired name and extension as ".wsdl"
We will take example of submitting a BICC job. so we will be using url as
https://<host name>:<port>/ess/bi/esswebservice?wsdl
for general esswebservice we can use
https://<host name>:<port>/ess/esswebservice?wsdl
Below are the screenshots where we need to make the changes in merged WSDL:
We get the X509 certificate if we open esswebservice wsdl url in browser.
After we are done with merging of wsdl and updating it with url and certificate section, we will create connection in OIC.
Use Soap adapter to create connection:
Upload the customized wsdl using upload button icon
Provide the user credentials. Refer the below screenshot:
Now click on Test->Validate and Test
Now it should give success message as below:
Now we will see how we will use this connection to submit an ESS job( We will take example of a BICC job submission)
Drag this soap connection in the integration flow:
Now in the Headers configuration , we need to check Custom SOAP Headers
Now in the next step we need to upload a sample ".xsd " file for WS_Addressing. This we do in SOAP UI by going to WS Addressing tab. But here in OIC we need to provide the xml schema.
This will have two elements "MessageID" and "Action'
The sample Schema which we upload will look like below:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.w3.org/2005/08/addressing"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsa="http://www.w3.org/2005/08/addressing">
<xsd:element name="MessageID" type="xsd:string"/>
<xsd:element name="Action" type="xsd:string"/>
</xsd:schema>
The summary of our SOAP adapter configuration will look like below:
Now let's see how the mapper for this would look like:
We assign hard coded literal value to the "MessageID" as 444444 and "Action" as submitRequest in custom SOAP headers as shown in the below screenshot.
Now let us see how the request and response messages look like for this when we run the integration.
For this, activate the integration with payload enabled. Run the integration and see the activity stream.
From the activity stream we can see the below request and response payload for ESSWebservice ess job submit operation
The request message will look like below, The custom request header is highlighted in red in the below screenshot.
The response Message will look like below, it will contain the request id of the job we submitted:
No comments:
Post a Comment