Hi Augustus,

On Oct 2, 2007, at 10:35 AM, Augustus Gingell wrote:

This may be obvious but I have been pulling my hair out.

Have unpacked beta1 and have started the server.
Have built a simple 'hello' style ejb and deployed it.
Have build a client app which tries to instance the bean.

When trying to connect to the server using InitialContext:
    Properties p = new Properties();
p.put("java.naming.factory.initial", "org.openejb.client.RemoteInitialContextFactory");
    p.put("java.naming.provider.url", "127.0.0.1:4201");
    p.put("java.naming.security.principal", user);
    p.put("java.naming.security.credentials", password);

It throws a:
javax.naming.AuthenticationException: Error while communicating with server: ; nested exception is: java.rmi.RemoteException: Cannot open object input stream to server: ; nested exception is:
        java.net.SocketException: Connection reset
etc. at the getInitialContext line.

In the openejb/logs/openejb.log file I get:

2007-10-02 16:43:52,674 - ERROR - "null ��/0.0" FAIL "Unexpected error - For input string: "t""

Based on the "null 0.0/0.0" string, which should be the protocol version, it looks like you've got an old openejb-client jar in your path.

A couple things to try:

- Use org.apache.openejb.client.RemoteInitialContextFactory as the factory. We still support usage of org.openejb.client.RemoteInitialContextFactory and it is just a sublcass of the apache packaged version, but it should fail with ClassNotFoundException if you only have the old client in your path.

- In your client try printing out "java.class.path" and post it. Maybe with some code like:
       System.out.println(System.getProperty("java.class.path"));

Let us know what you find.

-David

Reply via email to