3 Replies Latest reply on Mar 20, 2006 7:59 AM by thomas.diesler

    SLSB as WS: Exception with JBoss 4.0.4CR1 from CVS

    bjoern.eilers

      Hi,

      I just grabbed the current version of JBoss 4.0.x from the CVS branch, built and ran it (default configuration) and deployed the following stateless session bean with web service annotations similar to the example that is found in the test folder:

      import javax.ejb.Stateless;
      import javax.jws.WebMethod;
      import javax.jws.WebService;
      
      @WebService
      @Stateless
      public class EJB3Bean01 implements EJB3RemoteInterface
      {
       @WebMethod
       public String echo(String input)
       {
       return input;
       }
      }


      import javax.ejb.Remote;
      
      @Remote
      public interface EJB3RemoteInterface
      {
       String echo(String input);
      }


      The bean is deployed without errors and can be accessed the normal EJB 3 way (via ctx.lookup()). Also, I can access the WSDL file and endpoint descriptions in the /jbossws context. However, when I try to access the web service with this code, I get the exception following the code sample:

      try {
       String endpoint = "http://pcwi004:8080/eai-ejb3/EJB3Bean01";
      
       Service service = new Service();
       Call call = (Call) service.createCall();
      
       call.setTargetEndpointAddress(new URL(endpoint));
       call.setOperationName(new QName("http://wsep.eai/jaws", "echo"));
      
       String ret = (String) call
       .invoke(new Object[] { "Hallo Welt, ich laufe" });
      
       System.out.println("Antwort von Server: '" + ret + "'");
      
       } catch (Exception e) {
       e.printStackTrace();
       }


      org.jboss.ws.WSException: EJB3 container not registered: jboss.j2ee:name=EJB3Bean01,service=EJB3,jar=eai-ejb3.jar
       at org.jboss.ws.server.ServiceEndpointInvokerEJB3.loadServiceEndpoint(ServiceEndpointInvokerEJB3.java:68)
       at org.jboss.ws.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:80)
       at org.jboss.ws.server.ServiceEndpoint.handleRequest(ServiceEndpoint.java:226)
       at org.jboss.ws.server.ServiceEndpointServlet.doPost(ServiceEndpointServlet.java:110)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
       at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
       at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:54)
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:174)
       at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
       at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
       at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
       at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
       at java.lang.Thread.run(Thread.java:595)


      I don't understand why JBoss says that the container is not registered, as it seems to be... could one of you point me to the right direction of what I might have done wrong?