This discussion is archived
1 Reply Latest reply: Dec 31, 2012 3:14 AM by EJP RSS

Issue with JAX-RPC and JAX-WS

supratim Newbie
Currently Being Moderated
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




Problem:

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[]" />*
*</xsd:restriction>*
*</xsd:complexContent>*




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??

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points