Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
3.1.x
-
None
Description
When a remote client accesses OpenEJB (and Geronimo) and uses hostname, e.g. localhost not IP address the following exception is thrown:
WARNING: Cannot access server(s): null:-1 Exception:
java.io.IOException: Cannot access server: null:-1 due to an unkown exception in the OpenEJB client: java.lang.IllegalArgumentException : port out of range:-1
at org.apache.openejb.client.SocketConnectionFactory$SocketConnection.open(SocketConnectionFactory.java:60)
at org.apache.openejb.client.SocketConnectionFactory.getConnection(SocketConnectionFactory.java:34)
at org.apache.openejb.client.ConnectionManager.getConnection(ConnectionManager.java:43)
at org.apache.openejb.client.Client.processRequest(Client.java:60)
at org.apache.openejb.client.Client.request(Client.java:40)
at org.apache.openejb.client.JNDIContext.request(JNDIContext.java:72)
at org.apache.openejb.client.JNDIContext.lookup(JNDIContext.java:195)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at remote.MEJBClient.main(MEJBClient.java:20)
The properties in question are:
props.put(InitialContext.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory");
props.put(InitialContext.PROVIDER_URL, "localhost:4201");
Change localhost to 127.0.0.1 and it'll work fine.