users@glassfish.java.net

JNDI lookup problem for standalone client : NameNotFoundException

From: <glassfish_at_javadesktop.org>
Date: Wed, 17 Sep 2008 07:26:13 PDT

Hi,
I am new to netbeans and glassfish. I am trying to develop a sample stateful session bean. I have followed the example in the page [b]http://www.go4expert.com/forums/showthread.php?t=4212[/b].
I have added the appserv-rt.jar to cleint project.

The below are the details.
Remote interface
[b]CartRemote.java[/b]
------------------------------------------------------------------------------------
package ejb_stateful;

import java.util.Collection;
import javax.ejb.Remote;

/**
 *
 * @author administrator
 */
@Remote
public interface CartRemote {
 public void addItem(String item);
    public void removeItem(String item);
    public Collection getItems();

}

------------------------------------------------------------------------------------

[b]CaryBean,java[/b]
-------------------------------------------------------------------------------------------
package ejb_stateful;

import java.util.ArrayList;
import java.util.Collection;
import javax.annotation.PostConstruct;
import javax.ejb.Stateful;

/**
 *
 * @author administrator
 */
@Stateful
public class CartBean implements CartRemote {
    
    // Add business logic below. (Right-click in editor and choose
    // "EJB Methods > Add Business Method" or "Web Service > Add Operation")
private ArrayList items;

    @PostConstruct
    public void initialize() {
        items = new ArrayList();
    }
    
    public void addItem(String item) {
        items.add(item);
    }

    public void removeItem(String item) {
        items.remove(item);
    }

    public Collection getItems() {
        return items;
    }


}
-------------------------------------------------------------------------------------------

[b]CartClient.java[/b]
-------------------------------------------------------------------------------------------
package ejb_stateful;

import java.util.Collection;
import java.util.Iterator;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

/**
 *
 * @author administrator
 */
public class CartClient {
 public static void main(String [] args) throws NamingException {
       
        try {
            Context context = getInitialContext();
            CartRemote cart = (CartRemote)context.lookup("java:comp/env/CartBean");
            
            System.out.println("Adding items to cart");
            
            cart.addItem("Pizza");
            cart.addItem("Pasta");
            cart.addItem("Noodles");
            cart.addItem("Bread");
            cart.addItem("Butter");
            
            
            System.out.println("Listing cart contents");
            Collection items = cart.getItems();
            for (Iterator i = items.iterator(); i.hasNext();) {
            String item = (String) i.next();
            System.out.println(" " + item);
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    private static Context getInitialContext() throws NamingException {
        return new InitialContext();
    }

}
-------------------------------------------------------------------------------------------

II have build and deployed the project. I am getting the below exception while running the CartClient.java.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
javax.naming.NameNotFoundException: CartBean not found
        at com.sun.enterprise.naming.TransientContext.doLookup(TransientContext.java:216)
        at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:188)
        at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:74)
        at com.sun.enterprise.naming.RemoteSerialContextProviderImpl.lookup(RemoteSerialContextProviderImpl.java:129)
        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:585)
        at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:154)
        at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:687)
        at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:227)
        at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1846)
        at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1706)
        at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:1088)
        at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:223)
        at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:806)
        at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:563)
        at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2567)
        at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

I have tried the below jndi names too, but nothing worked.

java:comp/env/ejb/CartBean
java:comp/env/CartBean

Could anybody please help me to solve the problem?

_____________
Thanks & Regards
Rajeev.
[Message sent by forum member 'rajeev_tumkur' (rajeev_tumkur)]

http://forums.java.net/jive/thread.jspa?messageID=299837