You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by bu...@apache.org on 2003/10/31 16:54:58 UTC

DO NOT REPLY [Bug 24297] New: - onFault method of JAX-RPC Handler not called (if declared in handlerInfo)

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24297>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24297

onFault method of JAX-RPC Handler not called (if declared in handlerInfo)

           Summary: onFault method of JAX-RPC Handler not called (if
                    declared in handlerInfo)
           Product: Axis
           Version: 1.1
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Basic Architecture
        AssignedTo: axis-dev@ws.apache.org
        ReportedBy: maverick@cs.unibo.it


If a JAX-RPC-style Handler is declared in a handlerInfoChain element, its 
onFault method will not be called when the service implementation throws an 
exception.

I've put a test case online at 
http://adapt.adapt.cs.unibo.it/vance/axis/onFault-bug/, or you can contact me 
for more information.

The fix is easy: at org/apache/axis/handlers/soap/SOAPService.java:481, replace

            super.invoke(msgContext);

with

            try {
                super.invoke(msgContext);
            } catch (AxisFault f) {
                if (handlerImpl != null) {
                    handlerImpl.handleFault(msgContext);
                }
                throw f;
            }