Hmm, strange. I don't have an answer. Here is what I have in my wsdl for the operation I tested:
... <wsdl:portType name="TestWebService"> <wsdl:operation name="baseTester"> <wsdl:input message="tns:getBaseRequest"/> <wsdl:output message="tns:getBaseResponse"/> <wsdl:fault name="RequestFault" message="tns:RequestFault"/> <wsdl:fault name="ResponseFault" message="tns:ResponseFault"/> </wsdl:operation> ... down in the binding section I have: ... <wsdl:binding name="TestWebServiceSoapBinding" type="tns:TestWebService"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <wsdl:operation name="baseTester"> <soap:operation soapAction=""/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="RequestFault"> <soap:fault name="RequestFault" use="literal"/> </wsdl:fault> <wsdl:fault name="ResponseFault"> <soap:fault name="ResponseFault" use="literal"/> </wsdl:fault> </wsdl:operation> ... If I try to throw a RequestFault or ResponseFault, it goes straight back to the client by-passing my handler. If I throw a Runtime, I get my onFault() called. Again, I am using the much older Axis 1.4 with Tomcat 5.5. I'm using Document/Literal, too. I noticed your using the RPC style of SOAP web service? (Why should that matter here?) -jeff _____ From: pp pp [mailto:[EMAIL PROTECTED] Sent: Monday, September 17, 2007 12:42 PM To: axis-user@ws.apache.org Subject: Re: axis handler being omitted well, if it comes to me I got different result. if I am wrong somewhere, please correct me. Now, If I call a method: public void print(){ System.out.println("MyService: print()" +1/0); } the handler is omitted and client receives:"java.lang.ArithmeticException: / by zero" so I quess if I rethrow even a new exception handler would still be omitted if I call a method: public int add (int i1, int i2) throws DMSException { // .... } then I got my DMSException on the client side and my handler is omitted here as well. so I assume whether or not it is checked or unchecked exception the handler is never started. My handler is: public class MonitorHandler extends BasicHandler{ public void onFault(MessageContext msgContext) { System.out.println("Inside ON FAULT OPERATION"); } public void invoke(MessageContext msgContext) throws AxisFault{ try { System.out.println("!!!!!!INSIDE MONITOR HANDLER# !!!!!!!"); ... }catch (Exception e) { throw AxisFault.makeFault(e); } }