Thanks Anne and Scott.

 Now, how do I fix it in Apache SOAP?

I replaced the line 408 in Fault.java with following (pass the constant for SOAP 
encoding):

Bean paramBean = xjmr.unmarshall(Constants.NS_URI_SOAP_ENC,
                                             RPCConstants.Q_ELEM_PARAMETER,
                                             el,
                                             ctx);

With this change, Apache SOAP returns me correct results.

I am not sure if it will work for everyone. 

Any suggestion on what the fix should be?

Thanks

-Minaxi
 -----Original Message-----
From:   Scott Nichol [mailto:[EMAIL PROTECTED] 
Sent:   Thursday, October 14, 2004 10:41 AM
To:     [EMAIL PROTECTED]
Subject:        Re: Migrating from Apache SOAP to Axis

OK, now I see the following in 1.0

>>>>
5.3.2 Bindings and Faults

There are several interpretations for how wsdl:part elements that describe 
soapbind:fault, soapbind:header, and soapbind:headerfault may be defined. 
R2205 A wsdl:binding in a DESCRIPTION MUST refer, in each of its soapbind:header, 
soapbind:headerfault and soapbind:fault elements, only to wsdl:part element(s) that 
have been defined using the element attribute. 

Because faults and headers do not contain parameters, soapbind:fault, soapbind:header 
and soapbind:headerfault assume, per WSDL 1.1, that the value of the style attribute 
is "document". 
<<<<

It sure it tough to make an implementation that does not support WSDL interoperable.

Scott Nichol

Do not send e-mail directly to this e-mail address,
because it is filtered to accept only mail from
specific mail lists.
----- Original Message ----- 
From: "Scott Nichol" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, October 14, 2004 11:36 AM
Subject: Re: Migrating from Apache SOAP to Axis


Is that specified in version 1.0 or 1.1 of the profile?  I had looked at 1.0, but did 
not see anything there.  Perhaps I should look again ;).

Scott Nichol

Do not send e-mail directly to this e-mail address,
because it is filtered to accept only mail from
specific mail lists.
----- Original Message ----- 
From: "Anne Thomas Manes" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, October 14, 2004 11:21 AM
Subject: RE: Migrating from Apache SOAP to Axis


> 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