Hello.  I am new to the list, new to EJB 3.0 and new to Geronimo 2.  I am pretty sure I understand all of the concepts but I am having an issue with a JNDI lookup in Geronimo.  I have created a Bean and it looks as follows.

 

Interface:

 

@Remote

public interface FirstObjectRemote {

      public String hello(String name);

}

 

Class:

 

@Stateless

public class FirstObject implements FirstObjectRemote {

 

   public FirstObject() {

   }

 

   @Override

   public String hello(String name){

                  return "Hello " + name;

   }

 

}

 

Everything deploys just fine (at lease I think it does).  I created a test class:

 

 

public class TheClass

{          

public static void main(String[] args)

      {

            Properties prop=new Properties();

            prop.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory");

            prop.put(Context.PROVIDER_URL, "ejbd://localhost:1099");

     

            try{ 

                  Context context = new InitialContext(prop);

                  FirstObjectRemote firstObject = (FirstObjectRemote)context.lookup("FirstObjectRemote");

                  System.out.println(firstObject.hello("Russell"));

            }

            catch(Exception ex){

                  System.out.println(ex.toString());

            }

           

      }    

}

 

 

I get an error I when trying to run this.  The error that comes back is:

 

 

javax.naming.NamingException: Cannot lookup '/FirstObjectRemote'. [Root exception is java.rmi.RemoteException: Error while communicating with server: ; nested exception is:

      java.lang.NoClassDefFoundError: javax/transaction/RollbackException]

 

 

 

What am I missing?