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.RemoteInitialContextFac
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