Well, I disabled ipv6, and I get the same error, except the last line changes to:
11:24:40,457 ERROR [EjbDaemon] 127.0.0.1 "JNDI_REQUEST OEJP/2.0" FAIL "Broken pipe" Thanks, Rick Carragher -----Original Message----- From: David Jencks [mailto:[EMAIL PROTECTED] Sent: Friday, January 05, 2007 10:52 AM To: [email protected] Subject: Re: JNDI Access Problem On Jan 5, 2007, at 10:35 AM, Carragher Jr, Richard wrote: > Ok, user error. I was looking up the jndi name from a property file, > and the property file had the name in quotes (""). That explains that > problem. However, now I'm getting this one: Unfortunately I have no idea about this one, maybe an openejb person can figure it out. One thing that looks different from what I remember seeing is it looks like you might be using tcp v6 addresses. At one point I had problems getting geronimo to start on a linux machine with some v6 support enabled: I "solved" the problem by using a different machine. david jencks > > 10:30:23,843 ERROR [JndiRequestHandler] Failed to write to > JNDIResponse > java.net.SocketException: Broken pipe > at java.net.SocketOutputStream.socketWrite0(Native Method) > at > java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113) > at > java.net.SocketOutputStream.write(SocketOutputStream.java:157) > at > java.io.ObjectOutputStream$BlockDataOutputStream.drain > (ObjectOutputStrea > m.java:1733) > at > java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode > (Object > OutputStream.java:1642) > at > java.io.ObjectOutputStream.writeNonProxyDesc > (ObjectOutputStream.java:120 > 0) > at > java.io.ObjectOutputStream.writeClassDesc(ObjectOutputStream.java: > 1131) > at > java.io.ObjectOutputStream.writeOrdinaryObject > (ObjectOutputStream.java:1 > 332) > at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1083) > at > java.io.ObjectOutputStream.writeFatalException > (ObjectOutputStream.java:1 > 449) > at > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:312) > at > org.openejb.client.EJBMetaDataImpl.writeExternal > (EJBMetaDataImpl.java:18 > 5) > at > org.openejb.client.JNDIResponse.writeExternal(JNDIResponse.java:203) > at > org.openejb.server.ejbd.JndiRequestHandler.processRequest > (JndiRequestHan > dler.java:131) > at org.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:154) > at org.openejb.server.ejbd.EjbServer.service(EjbServer.java:87) > at > org.openejb.server.ejbd.EjbServer$$FastClassByCGLIB$$d379d2ff.invoke > (<ge > nerated>) > at > net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java(Inlined > Compiled > Code)) > at > org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke > (FastMethodInv > oker.java(Compiled Code)) > at > org.apache.geronimo.gbean.runtime.GBeanOperation.invoke > (GBeanOperation.j > ava(Inlined Compiled Code)) > at > org.apache.geronimo.gbean.runtime.GBeanInstance.invoke > (GBeanInstance.jav > a(Compiled Code)) > at > org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java > (Inli > ned Compiled Code)) > at > org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke > (RawOperation > Invoker.java(Compiled Code)) > at > org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept > (ProxyM > ethodInterceptor.java(Compiled Code)) > at > org.activeio.xnet.ServerService$$EnhancerByCGLIB$$bffe4aa3.service > (<gene > rated>) > at org.activeio.xnet.ServicePool$2.run(ServicePool.java:67) > at org.activeio.xnet.ServicePool$3.run(ServicePool.java:90) > at > org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:172) > at > org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run > (Threa > dPool.java:289) > at > EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown > Source) > at java.lang.Thread.run(Thread.java:568) > 10:30:23,846 ERROR [EjbDaemon] 0:0:0:0:0:0:0:1 "JNDI_REQUEST OEJP/2.0" > FAIL "Broken pipe" > > Any thoughts? > > > Thanks, > Rick Carragher > > -----Original Message----- > From: David Jencks [mailto:[EMAIL PROTECTED] > Sent: Friday, January 05, 2007 9:52 AM > To: [email protected] > Subject: Re: JNDI Access Problem > > > On Jan 5, 2007, at 9:04 AM, Carragher Jr, Richard wrote: > >> David, Thanks for the response. I'll try to debug it - I'm assuming >> there's no log statements, and you would like me to run it in a >> debugger? > > Either that or add some logging statements and recompile. I suspect > the debugger might be simpler. >> >> Another thought that I had, is it possible to look at the JNDI >> tree, to >> verify that my ejb is deployed properly? > > I don't know of any tools that would let you look. >> And also, I don't have a >> geronimo-application.xml deployed with my ear. Could that have >> anything >> to do with it? (I couldn't find any examples that met what we do in >> this app). > > I can't think of a way this could cause the problem you are seeing, > but my imagination might be limited. > > thanks > david jencks > >> >> Thanks, >> Rick >> On Jan 4, 2007, at 8:03 PM, Carragher Jr, Richard wrote: >> >>>> Hi, >>>> >>>> I'm trying to deploy a non-j2ee application client connecting to a >>>> stateless session bean in Geronimo 1.1. This seems simple, and it >>>> has worked without changes on WebSphere, Jboss, and WebLogic, so >>> I'm pretty sure that I m setting something up in Geronimo >>> incorrectly. >>> >>> >>> In open-ejb-jar.xml, I have the following snippet: >>> >>> <session> >>> <ejb-name>Controller</ejb-name> >>> <jndi-name>awc</jndi-name> >>> <local-jndi-name>ControllerLocal</local-jndi-name> >>> <gernaming:resource-ref> >>> <gernaming:ref-name>jdbc/datasourceUri</ >>> gernaming:ref-name> >>> <gernaming:resource-link>jdbc/ >>> transactionwareDataSource</gernaming:resource-link> >>> </gernaming:resource-ref> >>> </session> >>> >>> My client has the following properties setup: >>> java.naming.factory.initial=org.openejb.client.RemoteInitialContextF >>> a > >>> c >> >>> tory >>> java.naming.provider.url=localhost:4201 >>> java.naming.security.principal=system >>> java.naming.security.credentials=manager >>> And the client lookup code is pretty straightforward: >>> InitialContext jndiContext = new InitialContext(env); >>> Object ref = jndiContext.lookup("awc"); >>> ControllerRemoteHome home = (ControllerRemoteHome) >>> PortableRemoteObject.narrow(ref, ControllerRemoteHome.class); >>> Here's the exception I get in geronimo.out: >>> 19:46:54,233 ERROR [JndiRequestHandler] JNDI request error >>> java.lang.IllegalArgumentException >>> at java.net.URI.create(URI.java:859) >>> at org.openejb.ContainerIndex.getContainerIndex >>> (ContainerIndex.java:207) >>> at org.openejb.ContainerIndex$$FastClassByCGLIB$ >>> $6674ccb6.invoke(<generated>) >>> at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java >>> (Inlined Compiled Code)) >>> at >>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke >>> (FastMethodInvoker.java(Compiled Code)) >>> at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke >>> (GBeanOperation.java(Inlined Compiled Code)) >>> at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke >>> (GBeanInstance.java(Compiled Code)) >>> at org.apache.geronimo.gbean.runtime.RawInvoker.invoke >>> (RawInvoker.java(Inlined Compiled Code)) >>> at >>> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke >>> (RawOperationInvoker.java(Compiled Code)) >>> at >>> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept >>> (ProxyMethodInterceptor.java(Compiled Code)) >>> >>> at org.openejb.ContainerIndex$$EnhancerByCGLIB$ >>> $2edf4a7f.getContainerIndex(<generated>) >>> at org.openejb.server.ejbd.JndiRequestHandler.doLookup >>> (JndiRequestHandler.java:178) >>> at org.openejb.server.ejbd.JndiRequestHandler.processRequest >>> (JndiRequestHandler.java:115) >>> at org.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java: >>> 154) >>> at org.openejb.server.ejbd.EjbServer.service(EjbServer.java: >>> 87) >>> at org.openejb.server.ejbd.EjbServer$$FastClassByCGLIB$ >>> $d379d2ff.invoke(<generated>) >>> at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java >>> (Inlined Compiled Code)) >>> at >>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke >>> (FastMethodInvoker.java(Compiled Code)) >>> at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke >>> (GBeanOperation.java(Inlined Compiled Code)) >>> at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke >>> (GBeanInstance.java(Compiled Code)) >>> at org.apache.geronimo.gbean.runtime.RawInvoker.invoke >>> (RawInvoker.java(Inlined Compiled Code)) >>> at >>> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke >>> (RawOperationInvoker.java(Compiled Code)) >>> at >>> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept >>> (ProxyMethodInterceptor.java(Compiled Code)) >>> >>> at org.activeio.xnet.ServerService$$EnhancerByCGLIB$ >>> $eb95fe48.service(<generated>) >>> at org.activeio.xnet.ServicePool$2.run(ServicePool.java:67) >>> at org.activeio.xnet.ServicePool$3.run(ServicePool.java:90) >>> at org.apache.geronimo.pool.ThreadPool$1.run >>> (ThreadPool.java:172) >>> at org.apache.geronimo.pool.ThreadPool >>> $ContextClassLoaderRunnable.run(ThreadPool.java:289) >>> at EDU.oswego.cs.dl.util.concurrent.PooledExecutor >>> $Worker.run(Unknown Source) >>> at java.lang.Thread.run(Thread.java:568) >>> Caused by: java.net.URISyntaxException: Illegal character in path >>> at index 1: /"awc" >>> at java.net.URI$Parser.fail(URI.java:2764) >>> at java.net.URI$Parser.checkChars(URI.java(Inlined Compiled >>> Code)) >>> at java.net.URI$Parser.parseHierarchical(URI.java(Compiled >>> Code)) >>> at java.net.URI$Parser.parse(URI.java(Compiled Code)) >>> at java.net.URI.<init>(URI.java:595) >>> at java.net.URI.create(URI.java:857) >>> ... 29 more >>> I've tried all variations of the jndi name in my client, but none >>> seem to work. Any thoughts or ideas? >> >> I dont see anything wrong with your setup. The lookup should have >> succeeded in line 175 of JndiRequestHandler. Is there any chance you >> could debug the call to ContainerIndex.getContainerIndexByJndiName >> and see what is in jndiNameToIndex and what the jndi name parameter >> is ? >> >> Wish I could help better >> david jencks >> >>> Thanks, >>> Rick Carragher >>> >
