This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes EJB and other Java EE Technologies and the fly likes EJB with Weblogic 5.1 Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » EJB and other Java EE Technologies
Bookmark "EJB with Weblogic 5.1" Watch "EJB with Weblogic 5.1" New topic
Author

EJB with Weblogic 5.1

cris abanades
Greenhorn

Joined: Aug 30, 2001
Posts: 10
When I call a EJB in a servlet, it doesn't work but if I do this in an application client that calls EJB, it works perfectly.
What is the problem?
The exception is:
java.lang.ClassCastException at com.sun.corba.se.internal.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:296)
at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)
at src.servlet.gesServlet.init(gesServlet.java:122)
at src.servlet.mainServlet.init(mainServlet.java:38)
at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:390)
at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:349)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:338)
at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:164)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:99)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:742)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:686)
at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java:247)
at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:361)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:261)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 15951
    
  19

I had a LOT of fun with this one about a year back. There are several DIFFERENT CLASSPATHS within WLS5.1 - the first thing you need to do is make sure that the EJB is accessible through the right one. I believe there's a warning in the docs in particular about not putting stuff in the servlet classpath if it should be somewhere else. Or maybe it's in the comments in the model config file?
Anyway, what will happen is essentially, there are two copies of the class instantiated, which superficially are identical, but which Java considers unique. So what should be a perfectly legitimate portableObjectNarrow() will fail. I think if you pull the EJB from the servlet classpath, internal WebLogic magic will still find the EJB for the servlet, but your message will go away.


Customer surveys are for companies who didn't pay proper attention to begin with.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: EJB with Weblogic 5.1
 
Similar Threads
ServletContext-ges: Servlet failed with Exception
jsp:useBean ... nested Exception
EJB with Weblogic 5.1
Classpath question
Got stuck - please help