Let’s assume we have some custom WSDL and want to use this WSDL in Oracle Integration Cloud Service.

ICS provides a SOAP adapter that allows us to create a SOAP connection with the WSDL that is locally saved in our desktop.

Let’s deep dive and see how to use the existing WSDL

Create a SOAP connection with below steps:

  • Click Create button from the Connection page
  • Search SOAP and Select SOAP adapter
  • Enter below information and click on Create button
    • Name: Any meaningful name of your choice
    • Identifier: Identifier would be picked up automatically from the Name, however, we can update this
    • Role: Select Trigger and Invoke
    • Description: Optional description
  • Click on Configure Connectivity button
  • From the opened Connection properties dialog box, select the checkbox corresponding to WSDL URL and upload the WSDL
<?xml version=”1.0″ encoding=”UTF-8″ ?>
<definitions targetNamespace=”urn:EmployeeWSDL” xmlns=”http://schemas.xmlsoap.org/wsdl/” xmlns:tns=”urn:EmployeeWSDL”
             xmlns:soap12=”http://schemas.xmlsoap.org/wsdl/soap12/” xmlns:mime=”http://schemas.xmlsoap.org/wsdl/mime/”
             xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:soap=”http://schemas.xmlsoap.org/wsdl/soap/”
             xmlns:weo=”http://www.example.org”>
  <types>
    <xsd:schema xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns=”http://www.example.org”
            targetNamespace=”http://www.example.org” elementFormDefault=”qualified”>
  <xsd:element name=”request”>
    <xsd:annotation>
      <xsd:documentation>A sample element</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name=”id” type=”xsd:integer”/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name=”response”>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name=”name” type=”xsd:string”/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name=”fault”>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name=”error” type=”xsd:string”/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>
  </types>
  <portType name=”EmpServicePort”>
    <operation name=”requestOperation”>
      <input message=”tns:EmpServicePort_request”/>
      <output message=”tns:EmpServicePort_response”/>
      <fault name=”EmpFault” message=”tns:EmpSeriveFault”/>     
    </operation>
  </portType>
  <message name=”EmpServicePort_request”>
    <part name=”part” element=”weo:request”/>
  </message>
  <message name=”EmpServicePort_response”>
    <part name=”part” element=”weo:response”/>
  </message>
  <message name=”EmpSeriveFault”>
    <part name=”part” element=”weo:fault”/>
  </message> 
</definitions>
  • Once uploaded click on OK button
  • Click on Configure Security button then enter ICS credentials and click on OK button
  • Click Test button from the upper corner then click Validate and Test button
  • If WSDL is valid then the connection will reach 100%
Now we can use this SOAP connection as a Trigger point in the ICS integration to expose SOAP service.