This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes EJB and other Java EE Technologies and the fly likes NameNotfoundexception Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » EJB and other Java EE Technologies
Bookmark "NameNotfoundexception" Watch "NameNotfoundexception" New topic
Author

NameNotfoundexception

Ranadhir Nag
Ranch Hand

Joined: Mar 09, 2006
Posts: 138
I have a simple problem which has kept me completely flustered
A very simple Helloworld EJB gives me NameNotFoundException on deployment to WL10.x.

THere are no errors on deployment;but a standalone client simply cant find it.
Also,shouldnt the jndi appear somewhere under the JNDI tree - it doesnt in this case.

Any help will be much appreciated - just cant figure what is wron?


Remote:
======
package com.webservice;
import javax.ejb.EJBObject;
import java.rmi.RemoteException;
public interface Hello extends EJBObject {
public String hello(String message) throws RemoteException;
}

Home:
======
package com.webservice;
public interface HelloHome extends javax.ejb.EJBHome
{
Hello create() throws java.rmi.RemoteException,javax.ejb.CreateException;
}

Bean:
=====
package com.webservice;
import javax.ejb.EJBObject;
import java.rmi.RemoteException;
public class HelloBean implements javax.ejb.SessionBean{
private javax.ejb.SessionContext ctx;
public void ejbCreate()
{
System.out.println("Inside ejbCreate");
}
public void ejbRemove()
{
System.out.println("Inside ejbRemove");
}
public void ejbActivate()
{
System.out.println("Inside ejbActivate");
}
public void ejbPassivate()
{
System.out.println("Inside ejbPassivate");
}
public String hello(String message)
{
System.out.println("The message received : " + message);
return "Responding Back";
}
public void setSessionContext(javax.ejb.SessionContext ctx)
{
this.ctx=ctx;
}
}

ejb-jar
======

<?xml version="1.0"?>
<!DOCTYPE ejb-jar PUBLIC'-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN''http://java.sun.com/dtd/ejb-jar_2_0.dtd'>

<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>Hello</ejb-name>
<home>com.webservice.HelloHome</home>
<remote>com.webservice.Hello</remote>
<ejb-class>com.webservice.HelloBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>

weblogic-ejb-jar
==========
<?xml version="1.0"?>

<!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN"
"http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd">

<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>Hello</ejb-name>
<jndi-name>HelloHome</jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>


Client
========
package com.webservice.client;
.....
.....import com.webservice.HelloHome;
import com.webservice.Hello;


public class HelloClient{

public static void main(String[] args) throws Exception
{


Hashtable env = new Hashtable();

env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
env.put(Context.PROVIDER_URL, "t3://localhost:7001");
env.put(Context.SECURITY_PRINCIPAL,"weblogic");
env.put(Context.SECURITY_CREDENTIALS,"weblogic");
Context ctx=new InitialContext(env);
Object obj=ctx.lookup("HelloHome");
HelloHome home=(HelloHome)javax.rmi.PortableRemoteObject.narrow(obj,HelloHome.class);
Hello hello=home.create();
System.out.println(hello.hello("EJB is fun"));
hello.remove();

}

}
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: NameNotfoundexception
 
Similar Threads
NameNotFoundException
javax.naming. NameNotFoundException
NameNotFoundException: 'ordermanagementLocal'
Ejb
NameNotFoundException: MSAccessDS not bound