[jboss-user] [EJB/JBoss] - PortableRemoteObject problems
MarcelK1607
do-not-reply at jboss.com
Mon Jul 20 10:47:03 EDT 2009
Hello,
I have a simple Hello World bean and remote, but I cant get it to work.
I keep on getting a ClassCastException in my client with PortableRemoteObject.narrow
What am I missing here??
| package nl.mkoopman.helloworld;
|
| import java.util.Properties;
|
| import javax.naming.Context;
| import javax.naming.InitialContext;
| import javax.naming.NamingException;
| import javax.rmi.PortableRemoteObject;
|
| public class HelloWorldClient {
|
| public static void main(String[] args) throws NamingException {
| InitialContext context = getInitialContext();
| java.lang.Object ref = context.lookup("HelloBean/remote");
| HelloRemote helloRemote= (HelloRemote) PortableRemoteObject.narrow(ref, HelloRemote.class);
| System.out.println("Hello World says: "+helloRemote.sayHello());
|
| }
|
| private static InitialContext getInitialContext() throws NamingException
| {
| Properties properties = new Properties();
| properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
| properties.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
| properties.put(Context.PROVIDER_URL, "jnp://localhost:1099");
| return new InitialContext(properties);
| }
|
| }
| package nl.mkoopman.helloworld;
|
| import javax.ejb.Remote;
|
| @Remote
| public interface HelloRemote {
|
| public String sayHello();
| }
|
| package nl.mkoopman.helloworld;
|
| import javax.ejb.Stateless;
|
| @Stateless
| public class HelloBean implements HelloRemote {
|
| @Override
| public String sayHello() {
| return "Hello!";
| }
| }
|
| Exception in thread "main" java.lang.ClassCastException
| at com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:229)
| at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)
| at nl.mkoopman.helloworld.HelloWorldClient.main(HelloWorldClient.java:22)
| Caused by: java.lang.ClassCastException: javax.naming.Reference cannot be cast to org.omg.CORBA.Object
| at com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:212)
| ... 2 more
|
| 16:30:17,257 INFO [SessionSpecContainer] Starting jboss.j2ee:jar=helloWorld.jar,name=HelloBean,service=EJB3
| 16:30:17,257 INFO [EJBContainer] STARTED EJB: nl.mkoopman.helloworld.HelloBean ejbName: HelloBean
| 16:30:17,269 INFO [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:
|
| HelloBean/remote - EJB3.x Default Remote Business Interface
| HelloBean/remote-nl.mkoopman.helloworld.HelloRemote - EJB3.x Remote Business Interface
|
|
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4244668#4244668
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4244668
More information about the jboss-user
mailing list