Thursday, April 1, 2021

Using Soap adapter For Getting Fusion ERP callback in OIC

 We usually use ERP cloud adapter to receive callback message from Oracle Fusion.

Alternatively we can configure SOAP adapter as well to receive/consume callback from Oracle Fusion ERP.

The below steps would allow us to achieve the same:

1). Create a custom wsdl with xsd to get the onjobcompletion response from Fusion ERP


2). Now create a connection to SOAP adapter as trigger, upload the wsdl from local system which we

     created  

3. Use Security policy as SAML authentication, the username password token option will not work. We

    will get error  when erp sends callback if we use username password token.

4). Now create an app driven integration for callback,use the above soap adapter as trigger.

5). After it is activated use this integration as callback url in main integration.


6). Format for using as callback url will be(We don't need to use wsdl at last):

'https://integrationtest2-ia.integration.ocp.oraclecloud.com:443/ic/ws/integration/v1/flows/erp/TEST_CB_NEW/1.0/'

 

 

--------------Below is the custom wsdl-----------------------------------------------


<?xml version= '1.0' encoding= 'UTF-8' ?>
<wsdl:definitions
     name="ERPCallbackService"
     targetNamespace="http://oracle.com/sca/soapservice/SOACoreServices/ERPCallbackServiceService/ERPCallbackService"
     xmlns:tns="http://oracle.com/sca/soapservice/SOACoreServices/ERPCallbackServiceService/ERPCallbackService"
     xmlns:inp1="http://xmlns.oracle.com/cloud/adapter/erp/types"
     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    >
    <wsdl:types>
        <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
            targetNamespace="http://xmlns.oracle.com/cloud/adapter/erp/types"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema">
              <xsd:element name="onJobCompletionRequest">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="jobs" maxOccurs="unbounded" minOccurs="0">
                      <xsd:complexType>
                        <xsd:sequence>
                          <xsd:element type="xsd:string" name="jobName"/>
                          <xsd:element type="xsd:string" name="jobPath"/>
                          <xsd:element type="xsd:string" name="documentName" minOccurs="0"/>
                          <xsd:element type="xsd:int" name="requestId"/>
                          <xsd:element type="xsd:string" name="status"/>
                          <xsd:element name="child" maxOccurs="unbounded" minOccurs="0">
                            <xsd:complexType>
                              <xsd:sequence>
                                <xsd:element type="xsd:string" name="jobName"/>
                                <xsd:element type="xsd:string" name="jobPath"/>
                                <xsd:element type="xsd:int" name="requestId"/>
                                <xsd:element type="xsd:string" name="status"/>
                              </xsd:sequence>
                            </xsd:complexType>
                          </xsd:element>
                        </xsd:sequence>
                      </xsd:complexType>
                    </xsd:element>
                    <xsd:element type="xsd:string" name="summaryStatus"/>
                    <xsd:element type="xsd:int" name="documentId"/>
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
            </xsd:schema>
    </wsdl:types>
    <wsdl:message name="onJobCompletionRequestMessage">
        <wsdl:part name="ERPCallbackInput_pn" element="inp1:onJobCompletionRequest"/>
    </wsdl:message>
    <wsdl:portType name="onJobCompletion_ptt">
        <wsdl:operation name="onJobCompletion">
            <wsdl:input message="tns:onJobCompletionRequestMessage"/>
        </wsdl:operation>
    </wsdl:portType>
</wsdl:definitions>

No comments:

Post a Comment