You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ff...@apache.org on 2012/10/16 05:56:34 UTC
svn commit: r1398633 - in /cxf/branches/2.5.x-fixes: ./
rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java
Author: ffang
Date: Tue Oct 16 03:56:34 2012
New Revision: 1398633
URL: http://svn.apache.org/viewvc?rev=1398633&view=rev
Log:
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.5.x-fixes/ (props changed)
cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java
Propchange: cxf/branches/2.5.x-fixes/
------------------------------------------------------------------------------
Merged /cxf/trunk:r1398629
Merged /cxf/branches/2.6.x-fixes:r1398632
Propchange: cxf/branches/2.5.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java?rev=1398633&r1=1398632&r2=1398633&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java (original)
+++ cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java Tue Oct 16 03:56:34 2012
@@ -277,8 +277,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)) {