| Author |
javax.naming. NameNotFoundException:
|
Johnny Geller
Greenhorn
Joined: Jan 03, 2005
Posts: 1
|
|
Alright guys I am trying to run a client from JBuilder to look up a session bean but for some reason I keep getting the error: <italics> javax.naming. NameNotFoundException: SessionBeanHomeRemote not bound </italics> I have checked my jndi name in the deployment descriptor and the lookup from the client and they look fine although I have posted both below ni case a more experienced eye can see an error: The deployment descriptor is as follows: <code> <?xml version="1.0" encoding="UTF-8" ?> <jboss> <enterprise-beans> <session> <ejb-name>SessionEJB</ejb-name> <jndi-name>SessionBeanHomeRemote</jndi-name> </session> <entity> <ejb-name>ProjectTeamEJB</ejb-name> <jndi-name>ProjectTeamHomeRemote</jndi-name> <local-jndi-name>ProjectTeamHomeLocal</local-jndi-name> </entity> <entity> <ejb-name>ProjectEJB</ejb-name> <jndi-name>ProjectTeamHomeRemote</jndi-name> <local-jndi-name>ProjectHomeLocal</local-jndi-name> </entity> </enterprise-beans> </jboss> </code> The client code is as follows: <code> package ejbassignment; import ejbassignment.SessionBeanHomeRemote; import ejbassignment.SessionBeanRemote; import javax.naming.InitialContext; import javax.naming.Context; import javax.naming.NamingException; import javax.ejb.CreateException; import java.rmi.RemoteException; import java.util.Properties; import javax.rmi.PortableRemoteObject; public class Client { //not right but okay for now public static String PROJECTTEAM_ID = "1"; public static String MANAGER_ID = "1"; public static void main(String []args) { try { Context jndiContext = getInitialContext(); Object ref = jndiContext.lookup("SessionBeanHomeRemote"); SessionBeanHomeRemote home = (SessionBeanHomeRemote) PortableRemoteObject.narrow(ref,SessionBeanHomeRemote.class); SessionBeanRemote sessionBean = home.create(); //Get a list of all the Projects for Project Team 1 String list [] = sessionBean.listProjectTeams(PROJECTTEAM_ID, MANAGER_ID); for(int i = 0; i < list.length; i++) { System.out.println(list[i]); } } catch(java.rmi.RemoteException re){re.printStackTrace();} catch(Throwable t){t.printStackTrace();} } public static Context getInitialContext() throws javax.naming.NamingException { //return neew InitialContext(); /****context initialised by jndi.properties file*/ java.util.Properties p = new java.util.Properties(); p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); p.put(Context.URL_PKG_PREFIXES, "jboss.naming rg.jnp.interfaces"); p.put(Context.PROVIDER_URL, "localhost:1099"); return new javax.naming.InitialContext(p); } } </code> All help is appreciated guys!!!
|
 |
Olivier Champion
Greenhorn
Joined: Feb 11, 2005
Posts: 1
|
|
hello, do you find a solution for this error. I am running into the same trouble with an acces from a bean to an ejb session. Any help would be great
|
 |
Anant Rao
Ranch Hand
Joined: Nov 12, 2004
Posts: 126
|
|
hello guys, I hope you found solution for javax.naming.NameNotFoundException: eis/jdbc/ejbbank._CMP error. I am running into the same trouble while I acces cmp from universal test client Any help would be great thanks in advanace Infyniti
|
 |
Jason Mowat
Ranch Hand
Joined: Aug 17, 2003
Posts: 79
|
|
I am having a similar problem. It appears that the beans are being deployed to java:comp/env/your_custom_jndi_context, but the initial context lookup doesn't seem to recognize the custom context you specify. Furthermore, if you "alias" your deployed beans, the alias cannot be found during the lookup. What I found that works is that you can always refer to the remote bean's component interface. For example, I have an EmployeeFacadeBean with an ejb-name of EmployeeFacade. In jboss.xml, I give it the jndi-name of ejb/EmployeeConsole (my alias). I expect the following to work from a remote client: JBoss spits back a exception. However, if I change the code to: ...it works fine. I'm a little baffled by this. I have no idea why my beans are not binding to java:comp/env/ejb/{my JNDI name}. I suspect jboss.xml, but it looks syntactically correct to me. Hope that helps this thread out a bit! FWIW, I'm quite new to JBoss. Cheers, Jason
|
 |
Sanju Thomas
Ranch Hand
Joined: Dec 29, 2004
Posts: 243
|
|
Hi Johnny, See the jmx-console, and make sure that your EJB is bound in the JNDI tree. You can see the bound JNDI name of your bean in either jmx-console or web-console of the JBoss server.
|
 |
 |
|
|
subject: javax.naming. NameNotFoundException:
|
|
|