[jboss-user] [EJB/JBoss] - Class.cast.Exception when Accessing a Session bean on 4.0.5

ncheetham do-not-reply at jboss.com
Thu Dec 7 15:38:31 EST 2006


Can anyone help me - I'm at a loss. I'm also embarrassed because I think this should be easy. I've deployed my application in an EAR, it contains a JSF web app, and some EJB's. 

Here's the code I use to call the bean.


  |             InitialContext context = new InitialContext();
  | 
  |             Object objref = context.lookup("ReservationManager");
  | 
  |             ReservationManagerHome reservationManagerHome = 
  |                 (ReservationManagerHome)PortableRemoteObject.narrow(objref, ReservationManagerHome.class);
  | 
  |             _reservationManager = 
  |                     (ReservationManager)reservationManagerHome.create();
  | 

The context.lookup successfully returns a proxy, but the narrow function throws a Class Cast Error shown below:

2006-12-07 14:56:13,610 ERROR [businesstier.base.ReservationsClassFactory] java.lang.ClassCastException
  | 

The deployment reports no errors -> here's the log:


  | DEBUG [org.jboss.ejb.EJBDeployer.verifier] Bean checked: ReservationManager: Verified.
  | ...
  | INFO  [org.jboss.ejb.EjbModule] Deploying ReservationManager
  | ...
  | DEBUG [org.jboss.ejb.EjbModule] creating binding for ReservationManager:stateless-rmi-invoker
  | ...
  | DEBUG [org.jboss.system.ServiceController] Creating service jboss.j2ee:jndiName=ReservationManager,service=EJB
  | ...
  | DEBUG [org.jboss.ejb.StatelessSessionContainer] Creating jboss.j2ee:jndiName=ReservationManager,service=EJB
  | ...
  | DEBUG [org.jboss.system.ServiceController] Creating service jboss.j2ee:service=EJB,plugin=pool,jndiName=ReservationManager
  | DEBUG [org.jboss.ejb.plugins.StatelessSessionInstancePool] Creating jboss.j2ee:service=EJB,plugin=pool,jndiName=ReservationManager
  | ...
  | DEBUG [org.jboss.ejb.plugins.StatelessSessionInstancePool] Created jboss.j2ee:service=EJB,plugin=pool,jndiName=ReservationManager
  | ...
  | jboss.j2ee:jndiName=ReservationManager,service=EJB state: Created
  | ...
  | INFO  [org.jboss.ejb.plugins.local.BaseLocalProxyFactory] Bound EJB LocalHome 'ReservationManager' to jndi 'local/ReservationManager at 15468898'
  | 

I can see it as a service in the JMX-Console

The Web.XML looks like this:

  |    <ejb-ref>
  |         <ejb-ref-name>ejb/ReservationManager</ejb-ref-name>
  |         <ejb-ref-type>Session</ejb-ref-type>
  |         <home>businesstier.impl.ReservationManagerHome</home>
  |         <remote>businesstier.impl.ReservationManager</remote>
  |         <ejb-link>ReservationManager</ejb-link>
  |     </ejb-ref>
  | 

The ejb-jar.xml looks like this:


  |     <session>
  |       <description>Session Bean ( Stateless )</description>
  |       <display-name>ReservationManager</display-name>
  |       <ejb-name>ReservationManager</ejb-name>
  |       <home>businesstier.impl.ReservationManagerHome</home>
  |       <remote>businesstier.impl.ReservationManager</remote>
  |       <local-home>businesstier.impl.ReservationManagerLocalHome</local-home>
  |       <local>businesstier.impl.ReservationManagerLocal</local>
  |       <ejb-class>businesstier.impl.ReservationManagerBean</ejb-class>
  |       <session-type>Stateless</session-type>
  |       <transaction-type>Container</transaction-type>
  | ...
  | 

The deployment works like a charm on Oracle Application Server 10g.

I'm completely stumped. What am I missing.

Thanks,

Nigel



View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3992069#3992069

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3992069



More information about the jboss-user mailing list