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