Hi, I don't know exactly your situation, please check the following conditions: - you deployed a EJB 3.0 application in an xxx-ejb.jar - you configured an openejb-jar.xml deployment plan where you set an artifactId for your app, let's say "MyApp" - you have a session bean you want connect to, let's say "MySessionBean" - you have build a remote interface for your session bean (EJB 3.0 means a simple interface), let's say "MySessionRemote"
then the following is the right jndi name to get a connection to your bean "MyApp/MySessionBean/my.package.MySessionRemote" You have to use the fully qualified class name for the Interface! Regards Michael -----Ursprüngliche Nachricht----- Von: wanyna [mailto:[EMAIL PROTECTED] Gesendet: Freitag, 21. September 2007 11:47 An: [email protected] Betreff: ejb client jndi problem I deploy ejb jar in geronimo2.0.1, this is a ejb2 test http://www.nabble.com/file/p12813817/simple-ejb2-1.0.jar simple-ejb2-1.0.jar , and this is a ejb3 test http://www.nabble.com/file/p12813817/simple-ejb3-1.0.jar simple-ejb3-1.0.jar . Both of them deploy no error. My client is a standalone application. Test code: public class ClientTest { public static EchoRemote getEchoService(String url, String contextFactory) throws Exception { Context context = getInitialContext(contextFactory, url); Object obj = context.lookup("Echo"); return (EchoRemote) obj; } public static CounterRemote getCounterService(String url, String contextFactory) throws Exception { Context context = getInitialContext(contextFactory, url); Object obj = context.lookup("SuperCounterBusinessRemote"); return (CounterRemote) obj; } private static Context getInitialContext(String initContextFactory, String url) throws Exception { Properties properties = new Properties(); properties.put(Context.INITIAL_CONTEXT_FACTORY, initContextFactory); properties.put(Context.PROVIDER_URL, url); return new InitialContext(properties); } public static void main(String[] args) throws Exception{ String url = "ejbd://localhost:4201"; String factory = "org.openejb.client.RemoteInitialContextFactory"; EchoRemote echo = getEchoService(url, factory); assert("cba".equals(echo.echo("abc"))); // CounterRemote counter = getCounterService(url, factory); // assert(counter.reset()==0); // assert(counter.increment()==1); // assert(counter.increment()==2); // assert(counter.reset()==0); } } exception: Exception in thread "main" javax.naming.NameNotFoundException: /Echo does not exist in the system. Check that the app was successfully deployed. at org.apache.openejb.client.JNDIContext.lookup(JNDIContext.java:237) at javax.naming.InitialContext.lookup(InitialContext.java:351) at test.ClientTest.getEchoService(ClientTest.java:17) at test.ClientTest.main(ClientTest.java:40) What's the right jndi name? I see some other messages talk about ejb jndi, but still can't resolve my problem. I deploy ejb2 test in geronimo 1.x, client lookup no problem. -- View this message in context: http://www.nabble.com/ejb-client-jndi-problem-tf4492931s134.html#a12813817 Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.
