Dear All,

I ran into a very weird problem with Axis2 exception handling, which puzzled
me for long time. Any help from you Axis2 expert will be greately
appreciated!

This is what I did:

1. Get my service POJO ready. All method throws a customized MyException
which is derived from java.lang.Exception
2. Use Axis2 java2wsdl to convert this POJO to WSDL,. I can see the
wsdl:fault part of each service call has been created successfully with name
as MyException
3. Then use wsdl2java to generate client side API with ADB binding. Suddenly
Axis2 creates a bunch of exception related classes, such as:
MyExceptionException
MyExceptionE
xsd/MyException

The methods will throw MyExceptionException, which contains MyExceptionE,
which contains xsd/MyException. The xsd/MyException has all properties I
defined at server side. Method also throw AxisFault.

When I run the client code and throw MyException on server, at client side,
I could only catch AxisFault exception which reason string as return of
MyException.getMessage() defined on server. I could never catch MyException
nor MyExceptionException at client side. This is the bigest issue that
troubled me. If Axis2 has to wrap everything in AxisFault at client side,
fine, but whey wsdl2java still throws MyExceptionException in generated code
and never throw it?

Thanks a lot!

Li

Reply via email to