Hello,
Please consider the follow EJB :
@Stateless
@LocalBean
public class EJB1 {
@PermitAll
public void test1() {
System.out.println("Running in test1");
}
@PermitAll
public void test2(String parameter) {
System.out.println("Running in test2");
}
@PermitAll
public void test3(int[] parameter) {
System.out.println("Running in test3");
}
}
If I call test1() and test2() from a JSF Managed Bean, everything is fine. If call test3(), I get an EJBAccessException:
17:42:19,603 ERROR [org.jboss.as.ejb3.invocation] (default task-37) JBAS014134: EJB Invocation failed on component EJB1 for method public void fr.utc.dsi.tests.EJB1.test3(int[]): javax.ejb.EJBAccessException: JBAS014502: Invocation on method: public void fr.utc.dsi.tests.EJB1.test3(int[]) of bean: EJB1 is not allowed
at org.jboss.as.ejb3.security.AuthorizationInterceptor.processInvocation(AuthorizationInterceptor.java:115) [wildfly-ejb3-8.0.0.Alpha2.jar:8.0.0.Alpha2]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:289)
at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:90) [wildfly-ejb3-8.0.0.Alpha2.jar:8.0.0.Alpha2]
[...]
It seems that this happens when the called method has an array as parameter.
Christophe