3 Replies Latest reply on Oct 25, 2010 2:58 PM by buchnerm

    RESTful und EJB Error

    buchnerm

      Hi, I wrote a Java class with 1 method which I wanted to publish via REST.

       

      Facts: Server = JBoss 6 - M5

                System = Windows

       

      Here is the code of the EJB:

       

      {code}


      @Stateless


      @Path("/RestGetOrder")

       

      public class RestGetOrder {

       

          @EJB

       

          public DAOService daoService;


         
          @GET


          @Produces("text/plain")


          @Path("/byid/{orderid}") 


          public String getOrderById(@PathParam("orderid") long orderID) {



              //JeeOrder order = daoService.getOrderByFind(orderID);


             
              String result = "test works";


              return result;


          }

       

      }

       

      {code}

       

      I outcommented the DB Service for now. Where is my fault? Is it worng that I make this bean an EJB?

       

      Do I have to make special configuration in web.xml? Do I have to create a (Local/Remote) Interface?

       

      Because I get this error:

       

      {code}

       

      01:51:54,671 ERROR [[/JeeOntecDemo]] Exception starting filter Resteasy: java.lang.RuntimeException: javax.naming.NameNotFoundException: RestGetOrder not bound
          at org.jboss.resteasy.plugins.server.resourcefactory.JndiComponentResourceFactory.<init>(JndiComponentResourceFactory.java:39) [:6.0.0.20100911-M5]
          at org.jboss.resteasy.plugins.server.servlet.ConfigurationBootstrap.processJndiComponentResources(ConfigurationBootstrap.java:321) [:6.0.0.20100911-M5]
          at org.jboss.resteasy.plugins.server.servlet.ConfigurationBootstrap.createDeployment(ConfigurationBootstrap.java:203) [:6.0.0.20100911-M5]
          at org.jboss.resteasy.plugins.server.servlet.ListenerBootstrap.createDeployment(ListenerBootstrap.java:26) [:6.0.0.20100911-M5]
          at org.jboss.resteasy.plugins.server.servlet.FilterBootstrap.createDeployment(FilterBootstrap.java:25) [:6.0.0.20100911-M5]
          at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.init(ServletContainerDispatcher.java:67) [:6.0.0.20100911-M5]
          at org.jboss.resteasy.plugins.server.servlet.FilterDispatcher.init(FilterDispatcher.java:39) [:6.0.0.20100911-M5]
          at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:447) [:6.0.0.20100911-M5]
          at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3246) [:6.0.0.20100911-M5]
          at org.apache.catalina.core.StandardContext.start(StandardContext.java:3843) [:6.0.0.20100911-M5]
          at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:299) [:6.0.0.20100911-M5]
          at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:138) [:6.0.0.20100911-M5]
          at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461) [:6.0.0.20100911-M5]
          at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118) [:6.0.0.20100911-M5]
          at org.jboss.web.deployers.WebModule.start(WebModule.java:95) [:6.0.0.20100911-M5]
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_16]
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_16]
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_16]
          at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_16]
          at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157) [:6.0.0.Beta5]
          at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96) [:6.0.0.Beta5]
          at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) [:6.0.0.Beta5]
          at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:271) [:6.0.0.Beta5]
          at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:670) [:6.0.0.Beta5]
          at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206) [:2.2.0.Alpha10]
          at $Proxy41.start(Unknown Source)    at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:53) [:2.2.0.Alpha10]
          at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:41) [:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:301) [:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:894) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:641) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:182) [:2.2.0.Alpha7]
          at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:58) [:2.2.0.Alpha7]
          at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62) [:2.2.0.Alpha7]
          at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:55) [:2.2.0.Alpha7]
          at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179) [:2.2.0.Alpha7]
          at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1832) [:2.2.0.Alpha7]
          at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1550) [:2.2.0.Alpha7]
          at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1571) [:2.2.0.Alpha7]
          at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1491) [:2.2.0.Alpha7]
          at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.deployers.plugins.deployers.DeployersImpl.change(DeployersImpl.java:1983) [:2.2.0.Alpha7]
          at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:1076) [:2.2.0.Alpha7]
          at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:679) [:2.2.0.Alpha7]
          at org.jboss.system.server.profileservice.deployers.MainDeployerPlugin.process(MainDeployerPlugin.java:106) [:6.0.0.20100911-M5]
          at org.jboss.profileservice.dependency.ProfileControllerContext$DelegateDeployer.process(ProfileControllerContext.java:130) [:0.1.0.Alpha1]
          at org.jboss.profileservice.dependency.ProfileDeployAction.deploy(ProfileDeployAction.java:148) [:0.1.0.Alpha1]
          at org.jboss.profileservice.dependency.ProfileDeployAction.installActionInternal(ProfileDeployAction.java:94) [:0.1.0.Alpha1]
          at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54) [jboss-kernel.jar:2.2.0.Alpha10]
          at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42) [jboss-kernel.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654) [jboss-dependency.jar:2.2.0.Alpha10]
          at org.jboss.profileservice.dependency.ProfileServiceController.activate(ProfileServiceController.java:188) [:0.1.0.Alpha1]
          at org.jboss.profileservice.AbstractProfileService.activateProfile(AbstractProfileService.java:170) [:0.1.0.Alpha1]
          at org.jboss.profileservice.bootstrap.AbstractProfileServiceBootstrap.activate(AbstractProfileServiceBootstrap.java:117) [:0.1.0.Alpha1]
          at org.jboss.profileservice.resolver.BasicResolverFactory$ProfileResolverFacade.deploy(BasicResolverFactory.java:89) [:0.1.0.Alpha1]
          at org.jboss.profileservice.bootstrap.AbstractProfileServiceBootstrap.start(AbstractProfileServiceBootstrap.java:97) [:0.1.0.Alpha1]
          at org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:130) [:6.0.0.20100911-M5]
          at org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:56) [:6.0.0.20100911-M5]
          at org.jboss.bootstrap.impl.base.server.AbstractServer.startBootstraps(AbstractServer.java:827) [jboss-bootstrap-impl-base.jar:2.1.0-alpha-5]
          at org.jboss.bootstrap.impl.base.server.AbstractServer$StartServerTask.run(AbstractServer.java:417) [jboss-bootstrap-impl-base.jar:2.1.0-alpha-5]
          at java.lang.Thread.run(Thread.java:619) [:1.6.0_16]
      Caused by: javax.naming.NameNotFoundException: RestGetOrder not bound
          at org.jnp.server.NamingServer.getBinding(NamingServer.java:771) [:5.0.5.Final]
          at org.jnp.server.NamingServer.getBinding(NamingServer.java:779) [:5.0.5.Final]
          at org.jnp.server.NamingServer.getObject(NamingServer.java:785) [:5.0.5.Final]
          at org.jnp.server.NamingServer.lookup(NamingServer.java:396) [:5.0.5.Final]
          at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:728) [:5.0.5.Final]
          at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:688) [:5.0.5.Final]
          at javax.naming.InitialContext.lookup(InitialContext.java:392) [:1.6.0_16]
          at org.jboss.resteasy.plugins.server.resourcefactory.JndiComponentResourceFactory.<init>(JndiComponentResourceFactory.java:34) [:6.0.0.20100911-M5]
          ... 86 more

       


      01:51:54,734 ERROR [StandardContext] Error filterStart

       

       

      {code}

       

      Please give me some hint - greetings max

        • 1. Re: RESTful und EJB Error
          buchnerm

          Hi - I found the issue which caused this error - replaced @Stateless with @RequestScoped

           

          this  code works: But I still cannot inject any EJB!! Not via @EJB and not  via InitialContext

          :

          {code}

           

          package  at.ontec.ws;

           

          import javax.ejb.EJB;
          import javax.enterprise.context.RequestScoped;
          import javax.faces.bean.SessionScoped;
          import javax.inject.Inject;
          import javax.naming.InitialContext;
          import javax.naming.NamingException;
          import javax.ws.rs.DefaultValue;
          import javax.ws.rs.GET;
          import javax.ws.rs.Path;
          import javax.ws.rs.PathParam;
          import javax.ws.rs.Produces;
          import javax.ws.rs.QueryParam;

           

          import at.ontec.beans.JeeOrder;
          import at.ontec.dao.DAOService;
          import at.ontec.dao.LocalDAOServiceInterface;
          import at.ontec.dao.RemoteDAOServiceInterface;

           

          @RequestScoped
          @Path("/getorder")
          public class RestGetOrder {

           

          //    @EJB
          //    public DAOService daoService;
              
               @GET
               @Produces("text/plain")
               @Path("/byid/{orderid}")
               public String getOrderById(@PathParam("orderid") long orderID) {
                  
                       //JeeOrder order = daoService.getOrderByFind(orderID);
                      
                       String result = "Test result!";
                      
                       return result;
               }
          }

           

          {code}

          • 2. Re: RESTful und EJB Error
            genman

            Is the DAOService really deployed? You'll see that the EJB was deployed in your server log, and also under the JMX JNDIView: http://geekzguru.wordpress.com/2008/01/22/howto-view-the-jndi-tree-in-jboss/

             

            Check that your web.xml is defined as version 2.5.

            • 3. Re: RESTful und EJB Error
              buchnerm

              Hi,

               

              Thanks for the answer - Yes the EJB is deployed and I can access it in a JSF SessionBean - everything works fine!

               

              But when I want to use it in the Jax-RS Bean (I think this is rendered by some Resteasy Filter Servlet) it doesnt work!

               

              The JNDIView is not visible in JMX Console in standard JBoss 6.0 - M5 zip download. (I start it via Eclipse JBoss Tools) Dont know why - can I enable it somewhere?

               

              I made a new topic about the injection issue I have - there are also additional informations about my settings (I use web.xml version 3.0):

               

               

              http://community.jboss.org/thread/158104

               

              Thanks anyway