Author: ffang Date: Tue Oct 16 04:11:02 2012 New Revision: 1398636 URL: http://svn.apache.org/viewvc?rev=1398636&view=rev Log: Merged revisions 1398633 via svnmerge from https://svn.apache.org/repos/asf/cxf/branches/2.5.x-fixes
................ r1398633 | ffang | 2012-10-16 11:56:34 +0800 (二, 16 10 2012) | 16 lines Merged revisions 1398632 via svnmerge from https://svn.apache.org/repos/asf/cxf/branches/2.6.x-fixes ................ r1398632 | ffang | 2012-10-16 11:48:03 +0800 (二, 16 10 2012) | 9 lines Merged revisions 1398629 via svnmerge from https://svn.apache.org/repos/asf/cxf/trunk ........ r1398629 | ffang | 2012-10-16 11:35:43 +0800 (二, 16 10 2012) | 1 line [CXF-4565]per JAXWS spec 9.3.2.1, if outbound throw ProtocolException and No response is expected then the message processing stops and the handlerFault method of handlers shouldn't get invoked ........ ................ ................ Modified: cxf/branches/2.4.x-fixes/ (props changed) cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java Propchange: cxf/branches/2.4.x-fixes/ ------------------------------------------------------------------------------ Merged /cxf/branches/2.5.x-fixes:r1398633 Merged /cxf/trunk:r1398629 Merged /cxf/branches/2.6.x-fixes:r1398632 Propchange: cxf/branches/2.4.x-fixes/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java?rev=1398636&r1=1398635&r2=1398636&view=diff ============================================================================== --- cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java (original) +++ cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java Tue Oct 16 04:11:02 2012 @@ -276,8 +276,16 @@ public class HandlerChainInvoker { //The fault is raised from previous handlers, in this case, we only invoke handleFault //if the fault is a ProtocolException - if (fault != null && !(fault instanceof ProtocolException)) { - return true; + if (fault != null) { + if (!(fault instanceof ProtocolException)) { + return true; + } else if (!responseExpected && !messageDirectionReversed) { + // According to jsr224 9.3.2.1, + // If throw ProtocolException or a subclass: + // No response, normal message processing stops, close is called on each previously invoked handler + // in the chain, the exception is dispatched (see section 9.1.2.3). + return true; + } } if (LOG.isLoggable(Level.FINE)) {
