Jboss5,通过@RunAs对安全EJB的未经验证的调用

Jboss5,通过@RunAs对安全EJB的未经验证的调用,jboss,ejb-3.0,security,runas,securitydomain,Jboss,Ejb 3.0,Security,Runas,Securitydomain,我试图从未经验证的源(连接到队列的消息驱动Bean)调用安全EJB上的方法。MDB有一个EJB通过@EJB注入其中,这很好,但目标EJB有@SecurityDomain(“stuff”)和@RequireRole(“user”),并且在执行时会生成大量堆栈跟踪: 17:14:03,275 ERROR [STDERR] java.lang.NullPointerException 17:14:03,276 ERROR [STDERR] at org.jboss.ejb3.security.hel

我试图从未经验证的源(连接到队列的消息驱动Bean)调用安全EJB上的方法。MDB有一个EJB通过@EJB注入其中,这很好,但目标EJB有@SecurityDomain(“stuff”)和@RequireRole(“user”),并且在执行时会生成大量堆栈跟踪:

17:14:03,275 ERROR [STDERR] java.lang.NullPointerException 17:14:03,276 ERROR [STDERR] at org.jboss.ejb3.security.helpers.EJBContextHelper.getCallerPrincipal(EJBContextHelper.java:99) 17:14:03,276 ERROR [STDERR] at org.jboss.ejb3.EJBContextImpl.getCallerPrincipal(EJBContextImpl.java:136) 17:14:03275错误[STDERR]java.lang.NullPointerException 17:14:03276 org.jboss.ejb3.security.helpers.EJBContextHelper.getCallerPrincipal(EJBContextHelper.java:99)上的错误[STDERR] 17:14:03276 org.jboss.ejb3.EJBContextImpl.getCallerPrincipal(EJBContextImpl.java:136)上的错误[STDERR] 我试图通过一个临时EJB来修复这个问题,该临时EJB带有@SecurityDomain(“stuff”)@RunAs(“sysuser”)注释,这个临时bean将原始目标EJB注入其中。我的理解是,目标EJB将在“sysuser”角色下从临时bean调用方法。然而,我仍然会得到相同的堆栈跟踪,从而导致create的数据库回滚

MDB->SecureEJB路径是否可以在没有这些堆栈跟踪的其他变体中使用?代理方法是成功的正确途径,还是我需要在组合中添加一些东西

干杯, Andy

发现为,存在修复