Author: dkulp
Date: Thu May 22 17:39:03 2008
New Revision: 659342

URL: http://svn.apache.org/viewvc?rev=659342&view=rev
Log:
Make sure only the checked exceptions are marked as checked.

Modified:
    
cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/invoker/AbstractInvoker.java

Modified: 
cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/invoker/AbstractInvoker.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/invoker/AbstractInvoker.java?rev=659342&r1=659341&r2=659342&view=diff
==============================================================================
--- 
cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/invoker/AbstractInvoker.java
 (original)
+++ 
cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/invoker/AbstractInvoker.java
 Thu May 22 17:39:03 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);


Reply via email to