I'm not sure you can fix this problem from the Axis perspective. Axis
conforms to WS-I Basic Profile, which requires that all faults be formatted
as document/literal, therefore they do not (must not) contain an encoding
style attribute. 

Apache SOAP should not require an encoding style attribute on fault detail
information.

Anne

-----Original Message-----
From: Shukla, Minaxi [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, October 13, 2004 5:58 PM
To: [EMAIL PROTECTED]
Subject: Migrating from Apache SOAP to Axis

Hi,

I want to migrate our web services deployed on Apache SOAP 2.2 to Axis 1.1
without having to update the client developed with Apache SOAP.

It works fine with good scenarios where the service returns a successful
respose. But, when service throws a business exception, the client gets
ClassCastException :

java.lang.ClassCastException : org.apache.xerces.dom.DeferredElementNSImpl

I looked into Apache SOAP source code and found that the detailEntry is not
deserialized because of missing encoding style in the response. I added a
line to print the exception in Fault class unmarshall() method (the catch
Exception block):

Exception while unmarshalling Fault : java.lang.IllegalArgumentException: No
Deserializer found to deserialize a
'http://schemas.xmlsoap.org/soap/envelope/:Parameter' using encoding style
'null'.

So, looks like Axis is not returning the encodingStyle in response. I don't
know how to fix that.

Attached is the deployment descriptor for the service.

Thanks in advance for any help.

(I will post this message on Axis user list also, but I saw a message on
this list regarding SOAP to Axis migration, so just want to see if anyone
can help.)

-Minaxi
 <<GeoRoute.wsdd>> 

Reply via email to