BTW have you been able to run the examples with  a database other then
InstandDB/Hypersonic SQL ? ?
Because this is where i am really stuck !!

pranab wrote:

> Ken,
>     Here is the code which worked for me.
> package com.ebd.ejb;
>
> import com.ebd.ejb.CabinHome;
> import com.ebd.ejb.Cabin;
> import com.ebd.ejb.CabinPK;
>
> import javax.naming.InitialContext;
> import javax.naming.Context;
> import javax.naming.NamingException;
> import java.rmi.RemoteException;
> import javax.rmi.PortableRemoteObject;
> import java.util.Properties;
> import javax.ejb.CreateException;
>
> public class CabinSessionClient
> {
>
>         public static int SHIP_ID = 2;
>         public static int BED_COUNT = 3;
>
>         public static void main(String [] args)
>     {
>         try
>         {
>             Context jndiContext = getInitialContext();
>             Object ref = (TravelAgentHome)
> jndiContext.lookup("TravelAgentBean");
>             TravelAgentHome home = (TravelAgentHome)
> PortableRemoteObject.narrow(ref,TravelAgentHome.class);
>             TravelAgent reserve = (TravelAgent) home.create();
>             String [] list = reserve.listCabins(SHIP_ID,BED_COUNT);
>             System.out.println("Results ="+list.length);
>             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
>     {
>         Properties p = new Properties();
>
> p.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
>         p.put(Context.PROVIDER_URL,"localhost");
>         p.put(Context.URL_PKG_PREFIXES, "org.jboss.naming");
>         System.setProperty("java.naming.factory.initial",
>                 "org.jnp.interfaces.NamingContextFactory");
>         System.setProperty("java.naming.provider.url",
>                 "localhost:1099");
>         Context ctx = new javax.naming.InitialContext();
>         return ctx;
>     }
> }
>
> Ken Jenks wrote:
> >
> > Not there yet.
> >
> > This command:
> >
> > java -classpath
> > /usr/local/jboss/lib/ext/ejb.jar:/usr/local/jboss/client/jnp-client.jar:/usr
> > /local/jboss/client/jboss-client.jar:. com.titan.travelagent.jBossClient_1
> >
> > ...gives this error:
> >
> > java.rmi.ServerException: RemoteException occurred in server thread; nested
> > exception is:
> >          java.rmi.ServerException: Exception occurred; nested exception is:
> >          javax.ejb.EJBException
> > java.rmi.ServerException: Exception occurred; nested exception is:
> >          javax.ejb.EJBException
> > javax.ejb.EJBException
> >          at
> > sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Stream
> > RemoteCall.java:245)
> >          at
> > sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:220)
> >          at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:122)
> >          at
> > org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker_Stub.invoke(Un
> > known Source)
> >          at
> > org.jboss.ejb.plugins.jrmp.interfaces.StatelessSessionProxy.invoke(St
> > atelessSessionProxy.java:87)
> >          at $Proxy1.listCabins(Unknown Source)
> >          at com.titan.travelagent.jBossClient_1.main(jBossClient_1.java:48)
> >
> > Here's the client listing, jBossClient_1.java:
> >
> > package com.titan.travelagent;
> >
> > import com.titan.cabin.CabinHome;
> > import com.titan.cabin.Cabin;
> > import com.titan.cabin.CabinPK;
> >
> > import javax.naming.InitialContext;
> > import javax.naming.Context;
> > import javax.naming.NamingException;
> > import javax.ejb.CreateException;
> > import java.rmi.RemoteException;
> > import java.util.Properties;
> >
> > public class jBossClient_1 {
> >    public static int SHIP_ID = 1;
> >    public static int BED_COUNT = 3;
> >
> >    public static void main(String [] args){
> >      try {
> > /* COMMENTED OUT FOR jBoss
> >        Context jndiContext = getInitialContext();
> >        Object obj = jndiContext.lookup("ejb/TravelAgentHome");
> > COMMENTED OUT FOR jBoss */
> >
> > /* BEGIN SECTION ADDED FOR jBoss */
> >        // Set up the naming provider; this may not always be necessary,
> > depending
> >
> >        // on how your Java system is configured.
> >        System.setProperty("java.naming.factory.initial",
> >          "org.jnp.interfaces.NamingContextFactory");
> >        System.setProperty("java.naming.provider.url",
> >          "localhost:1099");
> >
> >        // Get a naming context
> >        InitialContext jndiContext = new InitialContext();
> >
> >        // Get a reference to the TravelAgentBean
> >        Object obj  = jndiContext.lookup("TravelAgentBean");
> >
> >        // Get a reference from this to the Bean's Home interface
> >
> > /* END SECTION ADDED FOR jBoss */
> >
> >        TravelAgentHome home = (TravelAgentHome)
> > javax.rmi.PortableRemoteObject.narrow(obj, TravelAgentHome.class);
> >
> >        TravelAgent reserve = home.create();
> >
> >        // Get a list of all cabins on ship 1 with a bed count of 3.
> >        String list [] = reserve.listCabins(SHIP_ID,BED_COUNT); // LINE 48 HERE!
> >
> >        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();}
> >    }
> >    static public Context getInitialContext() throws Exception {
> >      Properties p = new Properties();
> >      // ... Specify the JNDI properties specific to the vendor.
> >      return new InitialContext();
> >    }
> > }
> >
> > So the client compiles and runs, but after it creates the connection with
> > home.create() (which succeeds), the next call to the bean,
> >        String list [] = reserve.listCabins(SHIP_ID,BED_COUNT); // LINE 48 HERE!
> > fails.
> >
> > It seems strange to lookup TravelAgentBean to get the home interface. Maybe
> > that's my problem.
> >
> > Any suggestions?
> >
> > -- Ken Jenks, http://abiblion.com/
> >
> >     Tools for reading.
> >
> > --
> > --------------------------------------------------------------
> > To subscribe:        [EMAIL PROTECTED]
> > To unsubscribe:      [EMAIL PROTECTED]
> > Problems?:           [EMAIL PROTECTED]
>
> --
> --------------------------------------------------------------
> To subscribe:        [EMAIL PROTECTED]
> To unsubscribe:      [EMAIL PROTECTED]
> Problems?:           [EMAIL PROTECTED]



--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Problems?:           [EMAIL PROTECTED]

Reply via email to