Repository: tomee
Updated Branches:
  refs/heads/tomee-1.7.x d7b4a7bba -> b4c50a7e1


TOMEE-1534 unwrap EJBException for jaxrs endpoints


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/b4c50a7e
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/b4c50a7e
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/b4c50a7e

Branch: refs/heads/tomee-1.7.x
Commit: b4c50a7e1c07161be0008c89dc04f6cc43054911
Parents: d7b4a7b
Author: Romain Manni-Bucau <[email protected]>
Authored: Fri Mar 27 12:25:19 2015 +0100
Committer: Romain Manni-Bucau <[email protected]>
Committed: Fri Mar 27 12:25:19 2015 +0100

----------------------------------------------------------------------
 .../org/apache/openejb/server/cxf/rs/OpenEJBEJBInvoker.java     | 5 +++++
 1 file changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/b4c50a7e/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBEJBInvoker.java
----------------------------------------------------------------------
diff --git 
a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBEJBInvoker.java
 
b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBEJBInvoker.java
index a44856f..967c6ac 100644
--- 
a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBEJBInvoker.java
+++ 
b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBEJBInvoker.java
@@ -32,6 +32,7 @@ import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.rmi.RemoteException;
 import java.util.*;
+import javax.ejb.EJBException;
 
 public class OpenEJBEJBInvoker extends JAXRSInvoker {
     private final Map<Class<?>, Collection<Class<?>>> contextTypes = new 
HashMap<Class<?>, Collection<Class<?>>>();
@@ -97,6 +98,10 @@ public class OpenEJBEJBInvoker extends JAXRSInvoker {
                 }
             }
 
+            if (EJBException.class.isInstance(cause)) {
+                cause = EJBException.class.cast(cause).getCause();
+            }
+
             if (ApplicationException.class.isInstance(cause) && 
Exception.class.isInstance(cause.getCause())) {
                 throw 
Exception.class.cast(ApplicationException.class.cast(cause).getCause());
             }

Reply via email to