X

Best Practices from Oracle Development's A‑Team

ICS SOAP Connection - Retrieve File Uploaded WSDL

Greg Mally
Principal Solutions Architect

When working with Oracle Integration Cloud Service (ICS) SOAP Connections, it is common to upload a WSDL file when configuring the Connection Properties:

ICSRetrieveWSDL-001

The focus of this blog is how to retrieve/recover the WSDL in the event the original file is not available. This can be accomplished in several ways that include an on-line and/or off-line approach. Regardless of the approach, it is important to understand that when the WSDL file is uploaded it is added to the connection as an attachment.

On-Line WSDL Retrieval via REST API

ICS provides a set of REST APIs for managing and monitoring integrations, adapters, connections, lookups, and packages (https://docs.oracle.com/en/cloud/paas/integration-cloud-service/rest-api.html). One of these APIs can be used to retrieve the attached WSDL for the SOAP connection and interestingly enough, it is called Retrieve an Attachment. There are quite a few ways to work with REST APIs that include tools like SoapUI, browser add-ons like Postman/RESTClient, or linux commands like cURL. For this blog, we will be using linux cURL (https://curl.haxx.se/).

The Retrieve an Attachment API requires three pieces of information to construct the URL for the REST call:
1.  ICS host name ([domain].integration.[region].oraclecloud.com ... the first part of the ICS Console URL)
2.  ICS Connection ID:

ICSRetrieveWSDL-003

3.  ICS Connection Property Name (targetWSDLURL)

For example:
    https://icssvc-acme.integration.us2.oraclecloud.com/icsapis/v1/connections/GGM_WHOIS/attachments/targetWSDLURL

Now that the hard part of constructing the URL is done, we just need a valid ICS user name and password to finish the linux curl command.

For example:
    curl -u ics.user@acme.com:ICSUserPassword$ https://icssvc-acme.integration.us2.oraclecloud.com/icsapis/v1/connections/GGM_WHOIS/attachments/targetWSDLURL
Example cURL Using -o Option For File Output
$ curl -u ics.user@acme.com:ICSUserPassword -o /tmp/whois.wsdl https://icssvc-acme.integration.us2.oraclecloud.com/icsapis/v1/connections/GGM_WHOIS/attachments/targetWSDLURL
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  5542  100  5542    0     0  14512      0 --:--:-- --:--:-- --:--:-- 14545
$ cat /tmp/whois.wsdl
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.webservicex.net" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://www.webservicex.net" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://www.webservicex.net">
      <s:element name="GetWhoIS">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="HostName" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetWhoISResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetWhoISResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="string" nillable="true" type="s:string" />
    </s:schema>
  </wsdl:types>
  <wsdl:message name="GetWhoISSoapIn">
    <wsdl:part name="parameters" element="tns:GetWhoIS" />
  </wsdl:message>
  <wsdl:message name="GetWhoISSoapOut">
    <wsdl:part name="parameters" element="tns:GetWhoISResponse" />
  </wsdl:message>
  <wsdl:message name="GetWhoISHttpGetIn">
    <wsdl:part name="HostName" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetWhoISHttpGetOut">
    <wsdl:part name="Body" element="tns:string" />
  </wsdl:message>
  <wsdl:message name="GetWhoISHttpPostIn">
    <wsdl:part name="HostName" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetWhoISHttpPostOut">
    <wsdl:part name="Body" element="tns:string" />
  </wsdl:message>
  <wsdl:portType name="whoisSoap">
    <wsdl:operation name="GetWhoIS">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get domain name registration record by Host Name / Domain Name (WhoIS)</wsdl:documentation>
      <wsdl:input message="tns:GetWhoISSoapIn" />
      <wsdl:output message="tns:GetWhoISSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="whoisHttpGet">
    <wsdl:operation name="GetWhoIS">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get domain name registration record by Host Name / Domain Name (WhoIS)</wsdl:documentation>
      <wsdl:input message="tns:GetWhoISHttpGetIn" />
      <wsdl:output message="tns:GetWhoISHttpGetOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="whoisHttpPost">
    <wsdl:operation name="GetWhoIS">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get domain name registration record by Host Name / Domain Name (WhoIS)</wsdl:documentation>
      <wsdl:input message="tns:GetWhoISHttpPostIn" />
      <wsdl:output message="tns:GetWhoISHttpPostOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="whoisSoap" type="tns:whoisSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetWhoIS">
      <soap:operation soapAction="http://www.webservicex.net/GetWhoIS" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="whoisSoap12" type="tns:whoisSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetWhoIS">
      <soap12:operation soapAction="http://www.webservicex.net/GetWhoIS" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="whoisHttpGet" type="tns:whoisHttpGet">
    <http:binding verb="GET" />
    <wsdl:operation name="GetWhoIS">
      <http:operation location="/GetWhoIS" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="whoisHttpPost" type="tns:whoisHttpPost">
    <http:binding verb="POST" />
    <wsdl:operation name="GetWhoIS">
      <http:operation location="/GetWhoIS" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="whois">
    <wsdl:port name="whoisSoap" binding="tns:whoisSoap">
      <soap:address location="http://www.webservicex.net/whois.asmx" />
    </wsdl:port>
    <wsdl:port name="whoisSoap12" binding="tns:whoisSoap12">
      <soap12:address location="http://www.webservicex.net/whois.asmx" />
    </wsdl:port>
    <wsdl:port name="whoisHttpGet" binding="tns:whoisHttpGet">
      <http:address location="http://www.webservicex.net/whois.asmx" />
    </wsdl:port>
    <wsdl:port name="whoisHttpPost" binding="tns:whoisHttpPost">
      <http:address location="http://www.webservicex.net/whois.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

Off-Line WSDL Retrieval via Integration Export (IAR File)

There may be a situation where the only artifact available is an ICS integration export file (IAR). When an integration is exported to an IAR file, the format of the file is in archive/zip format. There are many tools available to extract the content from the IAR, but two linux options would be unzip or java jar. For this blog, a simple ICS integration was exported and the following command was used to extract the contents:

$ jar xvf ../GGM_WHOIS_MAP_01.00.0000.iar
 inflated: icspackage/project/GGM_WHOIS_MAP_01.00.0000/resources/application_10/inbound_11/resourcegroup_12/InvokeWHOIS_REQUEST_Target.wsdl
 inflated: icspackage/project/GGM_WHOIS_MAP_01.00.0000/resources/application_10/inbound_11/resourcegroup_12/InvokeWHOIS_REQUEST.jca
 inflated: icspackage/project/GGM_WHOIS_MAP_01.00.0000/resources/application_10/inbound_11/resourcegroup_12/InvokeWHOIS_REQUEST.wsdl
 inflated: icspackage/project/GGM_WHOIS_MAP_01.00.0000/resources/application_10/inbound_11/resourcegroup_12/ICSFault.xsd
 inflated: icspackage/project/GGM_WHOIS_MAP_01.00.0000/resources/processor_20/resourcegroup_23/req_53e99251e2c347a09eaa4125c4cfd600.xsl
 inflated: icspackage/project/GGM_WHOIS_MAP_01.00.0000/resources/processor_20/resourcegroup_23/req_53e99251e2c347a09eaa4125c4cfd600_stateinfo.xml
 inflated: icspackage/project/GGM_WHOIS_MAP_01.00.0000/resources/application_1/outbound_2/resourcegroup_3/getWHOIS_REQUEST.jca
 inflated: icspackage/project/GGM_WHOIS_MAP_01.00.0000/resources/application_1/outbound_2/resourcegroup_3/getWHOIS_REQUEST_Target.wsdl
 inflated: icspackage/project/GGM_WHOIS_MAP_01.00.0000/resources/application_1/outbound_2/resourcegroup_3/getWHOIS_REQUEST.wsdl
 inflated: icspackage/project/GGM_WHOIS_MAP_01.00.0000/resources/processor_25/resourcegroup_28/resp_74043843dc6a4aa6894ddd0262884f7a.xsl
 inflated: icspackage/project/GGM_WHOIS_MAP_01.00.0000/resources/processor_25/resourcegroup_28/resp_74043843dc6a4aa6894ddd0262884f7a_stateinfo.xml
 inflated: icspackage/project/GGM_WHOIS_MAP_01.00.0000/PROJECT-INF/project.xml
 inflated: icspackage/project/GGM_WHOIS_MAP_01.00.0000/ics_project_attributes.properties
 inflated: icspackage/appinstances/GGM_WHOIS.xml

This is what the directory structure looks like for this extracted IAR:

$ tree icspackage
icspackage/
├── appinstances
│   └── GGM_WHOIS.xml
└── project
    └── GGM_WHOIS_MAP_01.00.0000
        ├── ics_project_attributes.properties
        ├── PROJECT-INF
        │   └── project.xml
        └── resources
            ├── application_1
            │   └── outbound_2
            │       └── resourcegroup_3
            │           ├── getWHOIS_REQUEST.jca
            │           ├── getWHOIS_REQUEST_Target.wsdl
            │           └── getWHOIS_REQUEST.wsdl
            ├── application_10
            │   └── inbound_11
            │       └── resourcegroup_12
            │           ├── ICSFault.xsd
            │           ├── InvokeWHOIS_REQUEST.jca
            │           ├── InvokeWHOIS_REQUEST_Target.wsdl
            │           └── InvokeWHOIS_REQUEST.wsdl
            ├── processor_20
            │   └── resourcegroup_23
            │       ├── req_53e99251e2c347a09eaa4125c4cfd600_stateinfo.xml
            │       └── req_53e99251e2c347a09eaa4125c4cfd600.xsl
            └── processor_25
                └── resourcegroup_28
                    ├── resp_74043843dc6a4aa6894ddd0262884f7a_stateinfo.xml
                    └── resp_74043843dc6a4aa6894ddd0262884f7a.xsl
15 directories, 14 files

The file that we are interested in is located in the appinstances folder and is called GGM_WHOIS.xml. Note, your file name will be named something related to the connection name containing the attached WSDL. When we open the GGM_WHOIS.xml file, we see something like:

ICSRetrieveWSDL-002

You can see the section highlighted that contains the attachments for the connection. Within the <attachments> we look for the <propertyName>targetWSDLURL</propertyName>. Here we see the name of the attachment (whois.wsdl) followed by a <content> element. The value of this element is the contents of the uploaded WSDL encoded in base64. At this point all we need to do is copy the value between <content>...</content> and save it to a temporary file. Then we can use the base64 linux command to decode that temporary file:

$ base64 -d < /tmp/whois.wsdl.base64
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.webservicex.net" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://www.webservicex.net" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://www.webservicex.net">
      <s:element name="GetWhoIS">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="HostName" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetWhoISResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetWhoISResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="string" nillable="true" type="s:string" />
    </s:schema>
  </wsdl:types>
  <wsdl:message name="GetWhoISSoapIn">
    <wsdl:part name="parameters" element="tns:GetWhoIS" />
  </wsdl:message>
  <wsdl:message name="GetWhoISSoapOut">
    <wsdl:part name="parameters" element="tns:GetWhoISResponse" />
  </wsdl:message>
  <wsdl:message name="GetWhoISHttpGetIn">
    <wsdl:part name="HostName" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetWhoISHttpGetOut">
    <wsdl:part name="Body" element="tns:string" />
  </wsdl:message>
  <wsdl:message name="GetWhoISHttpPostIn">
    <wsdl:part name="HostName" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetWhoISHttpPostOut">
    <wsdl:part name="Body" element="tns:string" />
  </wsdl:message>
  <wsdl:portType name="whoisSoap">
    <wsdl:operation name="GetWhoIS">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get domain name registration record by Host Name / Domain Name (WhoIS)</wsdl:documentation>
      <wsdl:input message="tns:GetWhoISSoapIn" />
      <wsdl:output message="tns:GetWhoISSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="whoisHttpGet">
    <wsdl:operation name="GetWhoIS">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get domain name registration record by Host Name / Domain Name (WhoIS)</wsdl:documentation>
      <wsdl:input message="tns:GetWhoISHttpGetIn" />
      <wsdl:output message="tns:GetWhoISHttpGetOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="whoisHttpPost">
    <wsdl:operation name="GetWhoIS">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get domain name registration record by Host Name / Domain Name (WhoIS)</wsdl:documentation>
      <wsdl:input message="tns:GetWhoISHttpPostIn" />
      <wsdl:output message="tns:GetWhoISHttpPostOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="whoisSoap" type="tns:whoisSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetWhoIS">
      <soap:operation soapAction="http://www.webservicex.net/GetWhoIS" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="whoisSoap12" type="tns:whoisSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetWhoIS">
      <soap12:operation soapAction="http://www.webservicex.net/GetWhoIS" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="whoisHttpGet" type="tns:whoisHttpGet">
    <http:binding verb="GET" />
    <wsdl:operation name="GetWhoIS">
      <http:operation location="/GetWhoIS" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="whoisHttpPost" type="tns:whoisHttpPost">
    <http:binding verb="POST" />
    <wsdl:operation name="GetWhoIS">
      <http:operation location="/GetWhoIS" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="whois">
    <wsdl:port name="whoisSoap" binding="tns:whoisSoap">
      <soap:address location="http://www.webservicex.net/whois.asmx" />
    </wsdl:port>
    <wsdl:port name="whoisSoap12" binding="tns:whoisSoap12">
      <soap12:address location="http://www.webservicex.net/whois.asmx" />
    </wsdl:port>
    <wsdl:port name="whoisHttpGet" binding="tns:whoisHttpGet">
      <http:address location="http://www.webservicex.net/whois.asmx" />
    </wsdl:port>
    <wsdl:port name="whoisHttpPost" binding="tns:whoisHttpPost">
      <http:address location="http://www.webservicex.net/whois.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

To capture the output for the decode64, we can use a linux redirect like the following:

$ base64 -d < /tmp/whois.wsdl.base64 > /tmp/whois.wsdl
$ cat /tmp/whois.wsdl
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.webservicex.net" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://www.webservicex.net" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://www.webservicex.net">
      <s:element name="GetWhoIS">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="HostName" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetWhoISResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetWhoISResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="string" nillable="true" type="s:string" />
    </s:schema>
  </wsdl:types>
  <wsdl:message name="GetWhoISSoapIn">
    <wsdl:part name="parameters" element="tns:GetWhoIS" />
  </wsdl:message>
  <wsdl:message name="GetWhoISSoapOut">
    <wsdl:part name="parameters" element="tns:GetWhoISResponse" />
  </wsdl:message>
  <wsdl:message name="GetWhoISHttpGetIn">
    <wsdl:part name="HostName" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetWhoISHttpGetOut">
    <wsdl:part name="Body" element="tns:string" />
  </wsdl:message>
  <wsdl:message name="GetWhoISHttpPostIn">
    <wsdl:part name="HostName" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetWhoISHttpPostOut">
    <wsdl:part name="Body" element="tns:string" />
  </wsdl:message>
  <wsdl:portType name="whoisSoap">
    <wsdl:operation name="GetWhoIS">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get domain name registration record by Host Name / Domain Name (WhoIS)</wsdl:documentation>
      <wsdl:input message="tns:GetWhoISSoapIn" />
      <wsdl:output message="tns:GetWhoISSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="whoisHttpGet">
    <wsdl:operation name="GetWhoIS">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get domain name registration record by Host Name / Domain Name (WhoIS)</wsdl:documentation>
      <wsdl:input message="tns:GetWhoISHttpGetIn" />
      <wsdl:output message="tns:GetWhoISHttpGetOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="whoisHttpPost">
    <wsdl:operation name="GetWhoIS">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get domain name registration record by Host Name / Domain Name (WhoIS)</wsdl:documentation>
      <wsdl:input message="tns:GetWhoISHttpPostIn" />
      <wsdl:output message="tns:GetWhoISHttpPostOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="whoisSoap" type="tns:whoisSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetWhoIS">
      <soap:operation soapAction="http://www.webservicex.net/GetWhoIS" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="whoisSoap12" type="tns:whoisSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetWhoIS">
      <soap12:operation soapAction="http://www.webservicex.net/GetWhoIS" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="whoisHttpGet" type="tns:whoisHttpGet">
    <http:binding verb="GET" />
    <wsdl:operation name="GetWhoIS">
      <http:operation location="/GetWhoIS" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="whoisHttpPost" type="tns:whoisHttpPost">
    <http:binding verb="POST" />
    <wsdl:operation name="GetWhoIS">
      <http:operation location="/GetWhoIS" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="whois">
    <wsdl:port name="whoisSoap" binding="tns:whoisSoap">
      <soap:address location="http://www.webservicex.net/whois.asmx" />
    </wsdl:port>
    <wsdl:port name="whoisSoap12" binding="tns:whoisSoap12">
      <soap12:address location="http://www.webservicex.net/whois.asmx" />
    </wsdl:port>
    <wsdl:port name="whoisHttpGet" binding="tns:whoisHttpGet">
      <http:address location="http://www.webservicex.net/whois.asmx" />
    </wsdl:port>
    <wsdl:port name="whoisHttpPost" binding="tns:whoisHttpPost">
      <http:address location="http://www.webservicex.net/whois.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

There you have it, two ways of retrieving an uploaded WSDL file that is attached to an ICS connection. Hopefully this will help in the event you find yourself needing the WSDL and cannot access the original file.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha

Recent Content