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)) {