[
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