You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Neal Sanche <ne...@nsdev.org> on 2005/06/25 22:51:21 UTC

Standalone Clients

Hi All,

I am trying to make a standalone client using Geronimo HEAD. It's not 
going so well so far. I've done the following:

    public void Connect() {
        String hostName = "127.0.0.1";
        String port = "4201";
       
        System.setProperty("java.naming.factory.initial",
                "org.openejb.client.RemoteInitialContextFactory");
        System.setProperty("java.naming.provider.url", hostName+":"+port);
        System.setProperty("java.naming.security.principal", "system");
        System.setProperty("java.naming.security.credentials", "manager");
       
        try {
            Context ic = new InitialContext();
            Object o = ic.lookup(PhoneBookSessionHome.JNDI_NAME);
           
            PhoneBookSession session = 
PhoneBookSessionUtil.getHome().create();
           
            fireConnectionEvent(true);
        } catch (Throwable ex) {
            ex.printStackTrace();
            fireConnectionEvent(false);
        }
    }

The code fails on the 'new InitialContext()' with the error:

javax.naming.AuthenticationException: Cannot read the response from the 
server.; nested exception is:
    java.io.EOFException
    at org.openejb.client.JNDIContext.authenticate(JNDIContext.java:196)
    at 
org.openejb.client.JNDIContext.getInitialContext(JNDIContext.java:181)
    at 
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
    at 
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
    at javax.naming.InitialContext.init(InitialContext.java:223)
    at javax.naming.InitialContext.<init>(InitialContext.java:175)
    at org.acme.phonebook.client.Application.Connect(Application.java:70)

Should I be loading some sort of deployment into my Geronimo server 
first? The port 4201 seems to answer telnet connections, so there's 
something there. According to an article on the IBM site, the client 
needs the following Jars in the classpath, which I have done:

    * openejb-core-2.0-SNAPSHOT.jar
    * geronimo-spec-j2ee-1.4-rc4.jar
    * geronimo-kernel-1.0-SNAPSHOT.jar
    * geronimo-security-1.0-SNAPSHOT.jar
    * cglib-nodep-2.1.jar

Any ideas?

Thanks.

-Neal




Re: Standalone Clients

Posted by Neal Sanche <ne...@nsdev.org>.
Hi All,

Okay, just a followup to my query, it seems that the 
org.openejb.client.RemoteInitialContextFactory doesn't take its 
parameters from the System properties, because when I used a Properties 
class and passed it into the 'new InitialContext(props)' method, I was 
able to get a connection to the server and look up an EJB and make calls 
to it remotely.

I'll just do that for now, since I'm on a bit of a deadline here today. 
For the curious my code looks like this now:

    public void Connect() {
        String hostName = "127.0.0.1";
        String port = "4201";
   
        Properties props = new Properties();
       
        props.setProperty("java.naming.factory.initial",
                "org.openejb.client.RemoteInitialContextFactory");
        props.setProperty("java.naming.provider.url", hostName+":"+port);
        props.setProperty("java.naming.security.principal", "system");
        props.setProperty("java.naming.security.credentials", "manager");
       
        try {
            Context ic = new InitialContext(props);
            PhoneBookSessionHome sessionHome = (PhoneBookSessionHome)
                
PortableRemoteObject.narrow(ic.lookup(PhoneBookSessionHome.JNDI_NAME),PhoneBookSessionHome.class);
            phoneBookSession = sessionHome.create();
            fireConnectionEvent(true);
        } catch (Throwable ex) {
            ex.printStackTrace();
            fireConnectionEvent(false);
        }
    }

Cheers.

-Neal

Neal Sanche wrote:

> Hi All,
>
> I am trying to make a standalone client using Geronimo HEAD. It's not 
> going so well so far. I've done the following:
>
>    public void Connect() {
>        String hostName = "127.0.0.1";
>        String port = "4201";
>              System.setProperty("java.naming.factory.initial",
>                "org.openejb.client.RemoteInitialContextFactory");
>        System.setProperty("java.naming.provider.url", hostName+":"+port);
>        System.setProperty("java.naming.security.principal", "system");
>        System.setProperty("java.naming.security.credentials", "manager");
>              try {
>            Context ic = new InitialContext();
>            Object o = ic.lookup(PhoneBookSessionHome.JNDI_NAME);
>                      PhoneBookSession session = 
> PhoneBookSessionUtil.getHome().create();
>                      fireConnectionEvent(true);
>        } catch (Throwable ex) {
>            ex.printStackTrace();
>            fireConnectionEvent(false);
>        }
>    }
>
> The code fails on the 'new InitialContext()' with the error:
>
> javax.naming.AuthenticationException: Cannot read the response from 
> the server.; nested exception is:
>    java.io.EOFException
>    at org.openejb.client.JNDIContext.authenticate(JNDIContext.java:196)
>    at 
> org.openejb.client.JNDIContext.getInitialContext(JNDIContext.java:181)
>    at 
> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
>    at 
> javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
>    at javax.naming.InitialContext.init(InitialContext.java:223)
>    at javax.naming.InitialContext.<init>(InitialContext.java:175)
>    at org.acme.phonebook.client.Application.Connect(Application.java:70)
>
> Should I be loading some sort of deployment into my Geronimo server 
> first? The port 4201 seems to answer telnet connections, so there's 
> something there. According to an article on the IBM site, the client 
> needs the following Jars in the classpath, which I have done:
>
>    * openejb-core-2.0-SNAPSHOT.jar
>    * geronimo-spec-j2ee-1.4-rc4.jar
>    * geronimo-kernel-1.0-SNAPSHOT.jar
>    * geronimo-security-1.0-SNAPSHOT.jar
>    * cglib-nodep-2.1.jar
>
> Any ideas?
>
> Thanks.
>
> -Neal
>
>