You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2008/05/27 17:43:09 UTC

svn commit: r660564 - in /cxf/branches/2.0.x-fixes: ./ rt/core/src/main/java/org/apache/cxf/service/invoker/AbstractInvoker.java

Author: dkulp
Date: Tue May 27 08:43:05 2008
New Revision: 660564

URL: http://svn.apache.org/viewvc?rev=660564&view=rev
Log:
Merged revisions 659342 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/trunk

........
  r659342 | dkulp | 2008-05-22 20:39:03 -0400 (Thu, 22 May 2008) | 2 lines
  
  Make sure only the checked exceptions are marked as checked.
........

Modified:
    cxf/branches/2.0.x-fixes/   (props changed)
    cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/service/invoker/AbstractInvoker.java

Propchange: cxf/branches/2.0.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/service/invoker/AbstractInvoker.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/service/invoker/AbstractInvoker.java?rev=660564&r1=660563&r2=660564&view=diff
==============================================================================
--- cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/service/invoker/AbstractInvoker.java (original)
+++ cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/service/invoker/AbstractInvoker.java Tue May 27 08:43:05 2008
@@ -91,8 +91,17 @@
             if (t == null) {
                 t = e;
             }
-            exchange.getInMessage().put(FaultMode.class, FaultMode.CHECKED_APPLICATION_FAULT);
+            exchange.getInMessage().put(FaultMode.class, FaultMode.UNCHECKED_APPLICATION_FAULT);
+            for (Class<?> cl : m.getExceptionTypes()) {
+                if (cl.isInstance(t)) {
+                    exchange.getInMessage().put(FaultMode.class, 
+                                                FaultMode.CHECKED_APPLICATION_FAULT);                    
+                }
+            }
+            
             if (t instanceof Fault) {
+                exchange.getInMessage().put(FaultMode.class, 
+                                            FaultMode.CHECKED_APPLICATION_FAULT);                    
                 throw (Fault)t;
             }
             throw createFault(t, m, params, true);