Description of problem: If a @EJB injection inside a Servlet is used with indirection via web.xml/jboss-web.xml it works like expected. But a similar REST service as CDI Bean will fail at runtime. It works correct if @Stateless is added to the CDI bean to make it a EJB. Reproducer can be found here: git:wfink/jboss-eap-quickstarts.git BRANCH: 6.4.x_ejb-multi-server_reproducerEJB-injection2 SubProject: ejb-multi-server (used only a part of it to have a web-app and a ejb-app) see ejb-multi-server/README-reproducerEJB-injection ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/jboss-ejb-multi-server-app-web].[javax.ws.rs.core.Application]] (http-127.0.0.1:8080-1) JBWEB000236: Servlet.service() for servlet javax.ws.rs.core.Application threw exception: org.jboss.resteasy.spi.UnhandledException: org.jboss.msc.service.ServiceNotFoundException: Service service jboss.naming.context.java.comp.jboss-ejb-multi-server-app-web.jboss-ejb-multi-server-app-web.jboss-ejb-multi-server-app-web.env.AppOneBean not found at org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:367) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:] at org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:235) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:] at org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:211) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:] at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:576) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:] at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:543) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:] at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:128) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:] at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:] at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:] at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:] at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-2.jar:1.0.2.Final-redhat-2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.5.8.Final-redhat-2.jar:7.5.8.Final-redhat-2] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_102] Caused by: org.jboss.msc.service.ServiceNotFoundException: Service service jboss.naming.context.java.comp.jboss-ejb-multi-server-app-web.jboss-ejb-multi-server-app-web.jboss-ejb-multi-server-app-web.env.AppOneBean not found at org.jboss.msc.service.ServiceContainerImpl.getRequiredService(ServiceContainerImpl.java:625) at org.jboss.as.weld.services.bootstrap.WeldEjbInjectionServices.resolveEjb(WeldEjbInjectionServices.java:92) [jboss-as-weld-7.5.8.Final-redhat-2.jar:7.5.8.Final-redhat-2] at org.jboss.weld.util.Beans.injectEEFields(Beans.java:714) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1] at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget$1$1.proceed(ManagedBean.java:164) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1] at org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:48) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1] at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget$1.work(ManagedBean.java:161) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1] at org.jboss.weld.bean.ManagedBean$FixInjectionPoint.run(ManagedBean.java:135) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1] at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget.inject(ManagedBean.java:157) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1] at org.jboss.resteasy.cdi.JaxrsInjectionTarget.inject(JaxrsInjectionTarget.java:36) [resteasy-cdi-2.3.13.Final-redhat-1.jar:] at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:297) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1] at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:104) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1] at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:90) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1] at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:79) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1] at org.jboss.as.quickstarts.web.multi.server.app.RestService$Proxy$_$$_WeldClientProxy.getResultXML(RestService$Proxy$_$$_WeldClientProxy.java) [classes:] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_102] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_102] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_102] at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_102] at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:168) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:] at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:] at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:] at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:] at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:561) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:] ... 19 more Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
PRs (6.4.x): https://github.com/jbossas/jboss-eap/pull/2881 https://github.com/jbossas/jboss-eap/pull/2885
Thank you for reproducer. Verified with EAP 6.4.13.CP.CR1
Released with EAP 6.4.13 on Feb 02 2017.