Forum Stats

  • 3,836,756 Users
  • 2,262,182 Discussions
  • 7,900,098 Comments

Discussions

Issues while migrating from 8.1 EJB webservices to Weblogic 12.1.3 java web services

Sameer Kumar P
Sameer Kumar P Member Posts: 1
edited Feb 29, 2016 11:04AM in WebLogic Portal

Hi,

We are migrating from Weblogic 8.1 based EJB webservices running on weblogic 10.3.3 to Weblogic 12.1.3 based JWS, below are a couple of issues that we are facing :

  1. Our wsdl is RPC encoded, containing multipart elements.

        Example :

<message   name="request">

  <part    xmlns:partns="http://www.w3.org/2001/XMLSchema"

    name="element1"

    type="partns:string">

  </part>

     ..............

     ..............

  <part    xmlns:partns="http://www.example.com/service/ws"

    name="element2"

    type="partns:Element2Type">

  </part>

</message>

     We have different clients calling the webservice application, on weblogic 10.3.3, if the client did not pass element2, the server did not return any error, however on weblogic 12C, it is expecting          all the elements to be passed always in the request, this is because of the use of JAX-RPC mapping xml generated using the JWSC ant task. The mapping xml has the element positions      defined, as mentioned below :

      <j2ee:method-param-parts-mapping>

        <j2ee:param-position>0</j2ee:param-position>

        <j2ee:param-type>java.lang.String</j2ee:param-type>

        <j2ee:wsdl-message-mapping>

          <j2ee:wsdl-message xmlns:sel="http://www.example.com/service/ws">sel:request</j2ee:wsdl-message>

          <j2ee:wsdl-message-part-name>element1</j2ee:wsdl-message-part-name>

          <j2ee:parameter-mode>IN</j2ee:parameter-mode>

        </j2ee:wsdl-message-mapping>

      </j2ee:method-param-parts-mapping>

          .............................................

          ............................................

      <j2ee:method-param-parts-mapping>

        <j2ee:param-position>1</j2ee:param-position>

        <j2ee:param-type>com.example.Element2Type</j2ee:param-type>

        <j2ee:wsdl-message-mapping>

          <j2ee:wsdl-message xmlns:sel="http://www.example.com/service/ws">sel:request</j2ee:wsdl-message>

          <j2ee:wsdl-message-part-name>element2</j2ee:wsdl-message-part-name>

          <j2ee:parameter-mode>IN</j2ee:parameter-mode>

        </j2ee:wsdl-message-mapping>

      </j2ee:method-param-parts-mapping>

     As per the existing functionality on Weblogic 10.3 we were using autotype ant task and our clients had an option to send the elements in any order and also skip some of the input parameters.

     However the same functionality is not working on Weblogic 12C migrated webservices, since mapping xml is restricting the element order and its cardinality.

     Please let us know if someone has encountered a similar issue and if there is any work around to this.

     2. Earlier the EJB webservice used to return corresponding element types in response

     Example :

               <m:response xmlns:m="http://www.example.com/service/ws">

                        <result soapenc:arrayType="xsd:string[1]" xmlns:ns1="http://www.example.com/service/ws">

                           <string xsi:type="xsd:string">123</string>

                        </result>

                </m:response>

     But on Weblogic 12C, below is the response :

    

                <m:response xmlns:m="http://www.example.com/service/ws">

                        <result soapenc:arrayType="xs:string[1]">

                           <m:item>123</m:item>

                        </result>

                </m:response>

   If you see the above responses, you can see that the xsi:type is missing and the element with the name response does not have the namespace and the names are also different(Element type is    String Array)   

   Any pointers as to what could we causing this issue ?

Thanks and Regards,

Sameer Kumar

This discussion has been closed.