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


Reply via email to