1 Reply Latest reply on Dec 31, 2012 11:14 AM by EJP

    Issue with JAX-RPC and JAX-WS

      Hi ,

      I have an EJB application which is deployed in BEA Weblogic 8.1 SP4. There are two modules packed into an ear.

      Module 1: EJB Jar module
      Module 2: Webservice module

      There is an ant task , which helps exposing these EJBs as web services, creating the schema into the webservice module.

      Recently this application is being migrated to Weblogic 10.3. The changes are:

      1. EJB 2 to EJB 3
      2. JDK 4 to JDK 6
      3. Removing the need to anttask and annotating the EJBs with @Webservice annotation to expose the web services.

      Now by default in the weblogic server, the style seen to be :

      Web Service Type: JAX-WS 2.1


      There is an application which uses the aforesaid application through web service, creating webservice clients. Now these application was not migrated to use the JAX-WS advantage, it still uses JDK4 and JAX-RPC. We don't have access to the client generation code and we cannot change this application. This application is not identifying the JAX-WS schema as follows:

      IN JAX-WS : the simCardDetails[which is an array] element is like this :

      *<xs:element name="simCardDetails" type="tns:SimCardDetails" nillable="true" minOccurs="0" maxOccurs="unbounded" />*

      In JAX-RPC :

      *<xsd:element type="stns:ArrayOfSimCardDetails" name="simCardDetails" minOccurs="1" maxOccurs="1" nillable="true" />*

      where ArrayOfSimCardDetails is

      *<xsd:complexType name="ArrayOfSimCardDetails">*
      - <xsd:complexContent>
      - <xsd:restriction xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" base="soapenc:Array">
      *<xsd:attribute xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" ref="soapenc:arrayType" wsdl:arrayType="stns:SimCardDetails[]" />*

      Now experts, what are my options for this problem?? Please help.

      1. Can I change the weblogic server to use the JAX-RPC by default?
      2. How do I proceed , so that I dont have to change the calling application and solve the problem??