G'Day all,
I am trying to do a simple
JBoss EJB (Hello World), and access it via a
java client. It's based of an example in Java2 Unleashed, which uses WebLogic (I don't have on my network). Both client and server are on the same machine (currently), but I am getting some problems.
I get the following error message
Cannot instantiate class: org.jboss.naming.HttpNamingContextFactory
javax.naming.NoInitialContextException: Cannot instantiate class: org.jboss.naming.HttpNamingContextFactory [Root exception is java.lang.ClassNotFoundException: org.jboss.naming.HttpNamingContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:652)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
at javax.naming.InitialContext.init(InitialContext.java:219)
at javax.naming.InitialContext.<init>(InitialContext.java:195)
at com.rags.ejb.simple.SimpleEJBClient.main(SimpleEJBClient.java:29)
Caused by: java.lang.ClassNotFoundException: org.jboss.naming.HttpNamingContextFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:42)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:649)
... 4 more
Now, I this is the code in the client that is failing
Properties h = new Properties();
h.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.HttpNamingContextFactory");
h.put(Context.PROVIDER_URL, "https://localhost:8443/invoker/JNDIFactory");
//lookup jndi initial context
Context initial = new InitialContext(h);
Context ctx = (Context)initial.lookup("java:comp/env");
It seems like I am using the wrong context values, but I cannot find out what I should have there. Can anyone point me in the right direction?
BTW, I am using JBoss 3.2.5 on Mandrake 10.0, J2SDK 1.4.2_05. I think that's all for the environment....
Thanks in advance for your help,
Craig.