[ 
http://issues.apache.org/jira/browse/AXIS-2013?page=comments#action_12357412 ] 

Maurizio Mlt commented on AXIS-2013:
------------------------------------

Hi!

I've encountered this bug also using   RPC/literal style.

I started from  the webservice MyWS Java code to generate the wsdl and then 
wsdl2java for the client stubs.

I have a MyWS  operation throwing three exceptions AException, BException and 
CException

Server side,  MyWS operation throws B or C Exception  while  the client always 
tries to deserialize AException.

I looked into the client stub class MyWSSoapBindingStub, inside  the method 
        private static void _initOperationDesc1()
where operations are defined.

The original order with which faults were added to the operation definition was:
        oper.addFault(new 
org.apache.axis.description.FaultDesc(.....AException...));
        oper.addFault(new 
org.apache.axis.description.FaultDesc(.....BException...));
        oper.addFault(new 
org.apache.axis.description.FaultDesc(.....CException...));

What I did was to change this order (adding Exception B or C first)  and I 
noticed that Axis always tried to deserialize the FIRST added fault!
i.e. always BException or CException respectively. 

This bug made me to "downgrade" to RPC-encoded.

Hoping this could be of  some help,
Kind regards, 
Mauri


> Deserialization of Exception fails
> ----------------------------------
>
>          Key: AXIS-2013
>          URL: http://issues.apache.org/jira/browse/AXIS-2013
>      Project: Apache Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: current (nightly)
>  Environment: Linux, JDK 1.4.2_06
>     Reporter: Hans
>     Assignee: Davanum Srinivas
>     Priority: Critical
>  Attachments: calc.zip, faults2.zip, faults2_doclit.zip
>
> I have a very basic application deployed as a webservice with one operation 
> that throws a user-defined exception (derived from AxisFault). The client 
> application calling this operation has defined a type mapping that maps the 
> operation fault to a client-side Exception class. When the client invokes the 
> operation and the exception is thrown, the client throws an AxisFault instead 
> of the client-exception class. 
> When I edit the server-config.wsdd and set the parameter 'sendMultiRefs' to 
> false, everything works ok: the exception thrown in the server is 
> deserialized and the client throws the mapped client-side exception. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to