This week's giveaway is in the Spring forum.
We're giving away four copies of REST with Spring (video course) and have Eugen Paraschiv on-line!
See this thread for details.
The moose likes EJB Certification (SCBCD/OCPJBCD) and the fly likes class casting with ejb Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of REST with Spring (video course) this week in the Spring forum!
JavaRanch » Java Forums » Certification » EJB Certification (SCBCD/OCPJBCD)
Bookmark "class casting with ejb" Watch "class casting with ejb" New topic

class casting with ejb

Lucas Smith
Ranch Hand

Joined: Apr 20, 2009
Posts: 808


I have an EJB client:

HelloWorld is an implementation class of HelloWorldRemote.

I have class cast exception that wrapper cannot be cast on HelloWorld.

When I use:
HelloWorldRemote hw = (HelloWorldRemote) ctx.lookup("ejb/HelloWorldBean");
everything runs flawlessly.

Can someone describe me this situation?

Roberto Perillo

Joined: Dec 28, 2007
Posts: 2270

Howdy, Lucas.

Well champ, can you show us the code of HelloWorldBean, HelloWorld and HelloWorldRemote? Can you show us the exception's stack trace?

Cheers, Bob "John Lennon" Perillo
SCJP, SCWCD, SCJD, SCBCD - Daileon: A Tool for Enabling Domain Annotations
Ivan Krizsan
Ranch Hand

Joined: Oct 04, 2006
Posts: 2198
Unless the client is a local client to the EJB and uses a no-interface view of the EJB, you cannot use the implementation class when casting the result of the lookup.
In your case, what I can tell is:
1. The client is not a local client of the EJB, since it seems to be executing in another JVM than the EJB.
2. The EJB implements a remote interface. If you haven't explicitly annotated the EJB implementation class with @LocalBean, then there is no local view of the EJB.
Best wishes!

My free books and tutorials:
It is sorta covered in the JavaRanch Style Guide.
subject: class casting with ejb
It's not a secret anymore!