-
1. Re: lookup ClassCastException
muhviehstarr Jun 2, 2006 7:09 AM (in response to dvlinh)Wouldn't it be enough to write:
ctx = getInitialContext(); AddLinkServiceRemote addLinkService = (AddLinkServiceRemote) = ctx.lookup("challenge/AddLinkServiceBean/remote");
-
2. Re: lookup ClassCastException
bwilson Jun 28, 2006 5:30 PM (in response to dvlinh)I'm getting the same problem. This only seems to happen when I use the @stateful annotation. When I use @stateless the problem goes away.
-
3. Re: lookup ClassCastException
muhviehstarr Jun 29, 2006 3:14 AM (in response to dvlinh)I also have this problem.
I have two ears. One with the StateFul Bean and one with the war-file and a Servlet. I run the following code in the Servlet:Context ctx; try { ctx = new InitialContext(); Object o = ctx.lookup("StatefulTest/remote"); Class[] interfaces = o.getClass().getInterfaces(); for (Class intf : interfaces) { writer.println(intf.getName()); } StatefulTest stateFulBean = (StatefulTest) o; writer.println(stateFulBean.sayHello("mike")); } catch (Exception e) { e.printStackTrace(writer); }
The output is:my.test.StatefulTest org.jboss.ejb3.JBossProxy javax.ejb.EJBLocalObject java.lang.ClassCastException: $Proxy267 at my.test.TestServlet.doGet(TestServlet.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) 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.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) at org.jboss.web.tomcat.tc5.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:95) at org.jboss.web.tomcat.tc5.session.JvmRouteValve.invoke(JvmRouteValve.java:84) 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(Unknown Source)
Any hints? -
4. Re: lookup ClassCastException
weston.price Jun 29, 2006 4:25 AM (in response to dvlinh)Is this really a remote EJB? Try doing a narrow on the interface prior to use
StatefulTest stateFulBean = (StatefulTest)PortableRemoteObject.narrow(o, StatefulTest.class); -
5. Re: lookup ClassCastException
muhviehstarr Jun 29, 2006 4:38 AM (in response to dvlinh)Sorry I posted the wrong output. I also tried it with local-binding (which of course isn't correct).
Here the correct output, now also included your line:my.test.StatefulTest org.jboss.ejb3.JBossProxy javax.ejb.EJBObject java.lang.ClassCastException at com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow(Unknown Source) at javax.rmi.PortableRemoteObject.narrow(Unknown Source) at my.test.TestServlet.doGet(TestServlet.java:71) at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) 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.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) at org.jboss.web.tomcat.tc5.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:95) at org.jboss.web.tomcat.tc5.session.JvmRouteValve.invoke(JvmRouteValve.java:84) 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(Unknown Source) Caused by: java.lang.ClassCastException: $Proxy302 ... 25 more
-
6. Re: lookup ClassCastException
logankiefer Jun 29, 2006 11:24 PM (in response to dvlinh)This sounds exactly like my problem as well. I had a thread called "ClassCastException when updating ear-jar.xml schema" on this that I'm still having problems with. I'm not sure if that thread will give you the slightest hint of a solution or not, but I'm all ears if anyone solves it in this thread.
-
7. Re: lookup ClassCastException
hlot Oct 2, 2006 7:15 PM (in response to dvlinh)Hi.
I had the same problem.
After long googling i found the answer here:
http://wiki.jboss.org/wiki/Wiki.jsp?page=CommonHurdlesAndDifficultiesYouMayEncounterDuringEJB3Development
There are two possible error scenaries:
1. You packaged the same class file twice in the same EAR (in two different JARs for example)
2. You specified incomplete JNDI name at lookup (forgot /local or /remote)
Solution to the first scenario is to either enable call by value in the conf file naming-service.xml or repackage your ear without duplicates
You don't have to be genious to figure out solution to the second scenario ;)