1 Reply Latest reply: Jul 30, 2014 4:06 AM by Vijaya Moderator -Oracle RSS

    Webservice migration from 8.x to 12c

    Kaos

      Hi all,

       

      I have a question regarding the Webservice migration from 8.x to 12c.

      In the 8.x, we use ant task wsdl2service to generate Webservice from WSDL, and 12c that ant task seems no longer exist. We have to use wsdlc instead. But there is a problem:

      Because of we generate Webservice interface from WSDL, and the WSDL defined binding SOAP header inside the input tag, our old wsdl file is RPC document literal wrapped style. Something like:

      <operation name="getData">
        <soap:operation soapAction="" style="document" />
        <input>
        <soap:header message="tns:UserAuthMessage" part="user-Auth-header" use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
        <soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
        </input>
        <output>
        <soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
        </output>
      </operation>
      ....
      <portType name="AppPort">
        <operation name="getData">
        <input message="tns:GetDataRequest" />
        <output message="tns:GetDataResponse" />
        </operation>
      </portType>
      ...
      <message name="UserAuthMessage">
        <part name="user-auth-header" element="wsapi:user-auth-header" />
      </message>
      ...
      <message name="GetDataRequest">
        <part name="get-data-argument" element="wsapi:get-data-argument" />
      </message>
      <message name="GetDataResponse">
        <part name="get-data-response-argument" element="wsapi:get-data-response-argument" />
      </message>
      ...
      <xsd:element name="user-auth-header" type="wsapi:user-auth-header-wrapper" />
      <xsd:complexType name="user-auth-header-wrapper">
        <xsd:sequence>
        ...
        </xsd:sequence>
      </xsd:complexType>
      ...
      <xsd:element name="get-data-argument" type="wsapi:get-data-argument-wrapper" />
      <xsd:complexType name="get-data-argument-wrapper">
        <xsd:sequence>
        ...
        </xsd:sequence>
      </xsd:complexType>
      ...
      <xsd:element name="get-data-response-argument" type="wsapi:get-data-response-argument-wrapper" />
      <xsd:complexType name="get-data-response-argument-wrapper">
        <xsd:sequence>
        ...
        </xsd:sequence>
      </xsd:complexType>
      

      In Weblogic 8.x, the generation would include that soap header as the input premeter, but in 11g, or newer 12c, the wsdlc no longer generate it as input premeter, which impact client, our client have to re-generate all client jar again, because the interface complete changed.

      Just want to know, is there any way to generate soap header for auth as the same as we did in Weblogic 8.x ? Or anyway can don't need re-generate client jar and keep the old WSDL file.

       

      Thank you.