InitialContext lookup gives me a
aslan Sep 10, 2007 6:51 AMAm trying to access a remote EJB from a stand alone java client, but are getting an exception. This is the exception:
javax.naming.NameNotFoundException: aslan.dk.JEJBWebCam.server.beans.RecordingRemote not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
at org.jnp.server.NamingServer.lookup(NamingServer.java:296)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at aslan.dk.jejbwebcam.Main.(Main.java:36)
at aslan.dk.jejbwebcam.Main.main(Main.java:48)
My code looks like this:
@Stateless
public class RecordingBean implements RecordingRemote{
/** Creates a new instance of RecordingBean */
public RecordingBean() {
}
public String hello() {
return "Hello Batman";
}
}
//-----------------------------------------------
@Remote
public interface RecordingRemote {
public String hello();
}
//-----------------------------------------
public Main() {
InitialContext ic;
try {
Hashtable ht = new Hashtable();
ht.put(InitialContext.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
ht.put(InitialContext.PROVIDER_URL,"jnp://localhost:1099");
ht.put(InitialContext.URL_PKG_PREFIXES,"org.jboss.naming:org.jnp.interfaces");
ic = new InitialContext(ht);
RecordingRemote bean = (RecordingRemote) ic.lookup(RecordingRemote.class.getName());
System.out.println(bean.hello());
} catch (Exception ex) {
ex.printStackTrace();
}
}
Am using jboss-4.2.0.GA and java 1.5. Can anyone help me with this, I have been strugling with it for several days now, without any luck?