Hi

did you add missing class in tomcat? javaee-api and openejb-client maybe?
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2014/1/3 mauro2java2011 <[email protected]>:
> HI .i have tried to call a ejb remote deployed on tomee from a tomcat7 plain.
> From the servlet deployed into tomcat plain i have:
>
> @WebServlet(name = "ProvatestejbRemoto", urlPatterns = {"/prova"})
> public class ProvatestejbRemoto extends HttpServlet {
>
>     private TestBeanRemote myBean = null;
>
>
>
>     @PostConstruct
>     public void inizializzaEjb(){
>   try {
>             Properties p = new Properties();
>             p.put("java.naming.factory.initial",
> "org.apache.openejb.client.RemoteInitialContextFactory");
>             p.put("java.naming.provider.url",
> "http://localhost:8080/tomee/ejb";);
> // user and pass optional
> //p.put("java.naming.security.principal", "myuser");// i not use the
> security.
> //p.put("java.naming.security.credentials", "mypass");// i not use the
> security.
>
>             InitialContext ctx = new InitialContext(p);
>
>             myBean = (TestBeanRemote)
> ctx.lookup("java:global/ejbsutomee/TestBean");
> //theproject    name of the war deployed on tomee  is ejbsutomee.war
>
>         } catch (Exception e) {
>           //  e.printStackTrace(out);
>         }
>     }
>
>
>     protected void processRequest(HttpServletRequest request,
> HttpServletResponse response)
>             throws ServletException, IOException {
>         response.setContentType("text/html;charset=UTF-8");
>         PrintWriter out = response.getWriter();
>
>
>
>         try {
>             /* TODO output your page here. You may use following sample
> code. */
>             out.println("<!DOCTYPE html>");
>             out.println("<html>");
>             out.println("<head>");
>             out.println("<title>Servlet ProvatestejbRemoto</title>");
>             out.println("</head>");
>             out.println("<body>");
>             out.println("
> Servlet ProvatestejbRemoto at " + request.getContextPath() + "
> ");
>             out.println("the ejb remote says: " + myBean.hello());
>
>             out.println("</body>");
>             out.println("</html>");
>         } finally {
>             out.close();
>         }
>     }
> }
>
> -----------------
> i have put the interface into my client project and i have put into the
> calsspath the openejbclient.jar
> but when i run the project client i get eroor :
>
> HTTP Status 500 - Error instantiating servlet class srv.ProvatestejbRemoto
>
> type Exception report
>
> message Error instantiating servlet class srv.ProvatestejbRemoto
>
> description The server encountered an internal error that prevented it from
> fulfilling this request.
>
> exception
>
> javax.servlet.ServletException: Error instantiating servlet class
> srv.ProvatestejbRemoto
>
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>         
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
>         
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
>
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         java.lang.Thread.run(Thread.java:724)
>
> root cause
>
> java.lang.NoClassDefFoundError: javax/ejb/EJBHome
>         java.lang.Class.forName0(Native Method)
>         java.lang.Class.forName(Class.java:270)
>         
> com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:63)
>         
> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:671)
>         javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
>         javax.naming.InitialContext.init(InitialContext.java:242)
>         javax.naming.InitialContext.<init>(InitialContext.java:216)
>         srv.ProvatestejbRemoto.inizializzaEjb(ProvatestejbRemoto.java:41)
>         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         java.lang.reflect.Method.invoke(Method.java:606)
>
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>         
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
>         
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
>
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         java.lang.Thread.run(Thread.java:724)
>
> root cause
>
> java.lang.ClassNotFoundException: javax.ejb.EJBHome
>
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
>
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
>         java.lang.Class.forName0(Native Method)
>         java.lang.Class.forName(Class.java:270)
>         
> com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:63)
>         
> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:671)
>         javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
>         javax.naming.InitialContext.init(InitialContext.java:242)
>         javax.naming.InitialContext.<init>(InitialContext.java:216)
>         srv.ProvatestejbRemoto.inizializzaEjb(ProvatestejbRemoto.java:41)
>         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         java.lang.reflect.Method.invoke(Method.java:606)
>
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>         
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
>         
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
>
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         java.lang.Thread.run(Thread.java:724)
>
> note The full stack trace of the root cause is available in the Apache
> Tomcat/7.0.41 logs.
> Apache Tomcat/7.0.41
>
>
>
>
>
>
>
> --
> View this message in context: 
> http://openejb.979440.n4.nabble.com/call-ejb-remote-not-work-help-me-tp4666948.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.

Reply via email to