You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by Geronimo User <ge...@gmail.com> on 2006/12/13 20:25:38 UTC

IllegalArgumentException re uri path given to RemoteInitialContextFactory

Hello:

I'm using Geronimo 1.1.1.

I'm trying to look up a resource in JNDI using RemoteInitialContextFactory,
from a JUnit test, because I want to do the same eventually from a
stand-alone application.

Following some on-line examples, here is my code.
(The resource path is fictional, because I can't get past what seems to
be a syntax error in it.)

Properties props = new Properties();
props.put("java.naming.factory.initial",
"org.openejb.client.RemoteInitialContextFactory");
props.put("java.naming.provider.url", "127.0.0.1:4201");
props.put("java.naming.security.principal", "system");
props.put("java.naming.security.credentials", "manager");
Context context = new InitialContext(props);
// This fails; see Geronimo log below.
context.lookup("groupId/artifactId/version/type");

Here is the error caused by the lookup().
It seems that it doesn't like the initial "/" in the URI path?

14:18:22,904 ERROR [JndiRequestHandler] JNDI request error
java.lang.IllegalArgumentException: uri path must be in the form
[groupId]/[artifactId]/[version]/[type] :
/groupId/artifactId/version/type
        at org.apache.geronimo.gbean.AbstractNameQuery.<init>(AbstractNameQuery.java:104)
        at org.openejb.ContainerIndex.getContainerIndex(ContainerIndex.java:208)
        at org.openejb.ContainerIndex$$FastClassByCGLIB$$6674ccb6.invoke(<generated>)
        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
        at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
        at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122)
        at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:817)
        at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
        at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
        at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
        at org.openejb.ContainerIndex$$EnhancerByCGLIB$$189ca9f6.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:53)
        at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
        at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122)
        at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:817)
        at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
        at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
        at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
        at org.activeio.xnet.ServerService$$EnhancerByCGLIB$$d5535dbf.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)

How can I go "higher than root" to take the first / off the URI path?
Or do I have the syntaxt of the URI path completely wrong?

Any help appreciated, thanks.

Re: IllegalArgumentException re uri path given to RemoteInitialContextFactory

Posted by David Jencks <da...@yahoo.com>.
You can only look up ejbs using this jndi, and generally you want to  
specify a jndi-name in your openejb plan to look them up by.

thanks
david jencks

On Dec 13, 2006, at 11:25 AM, Geronimo User wrote:

> Hello:
>
> I'm using Geronimo 1.1.1.
>
> I'm trying to look up a resource in JNDI using  
> RemoteInitialContextFactory,
> from a JUnit test, because I want to do the same eventually from a
> stand-alone application.
>
> Following some on-line examples, here is my code.
> (The resource path is fictional, because I can't get past what  
> seems to
> be a syntax error in it.)
>
> Properties props = new Properties();
> props.put("java.naming.factory.initial",
> "org.openejb.client.RemoteInitialContextFactory");
> props.put("java.naming.provider.url", "127.0.0.1:4201");
> props.put("java.naming.security.principal", "system");
> props.put("java.naming.security.credentials", "manager");
> Context context = new InitialContext(props);
> // This fails; see Geronimo log below.
> context.lookup("groupId/artifactId/version/type");
>
> Here is the error caused by the lookup().
> It seems that it doesn't like the initial "/" in the URI path?
>
> 14:18:22,904 ERROR [JndiRequestHandler] JNDI request error
> java.lang.IllegalArgumentException: uri path must be in the form
> [groupId]/[artifactId]/[version]/[type] :
> /groupId/artifactId/version/type
>        at org.apache.geronimo.gbean.AbstractNameQuery.<init> 
> (AbstractNameQuery.java:104)
>        at org.openejb.ContainerIndex.getContainerIndex 
> (ContainerIndex.java:208)
>        at org.openejb.ContainerIndex$$FastClassByCGLIB$ 
> $6674ccb6.invoke(<generated>)
>        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>        at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke 
> (FastMethodInvoker.java:38)
>        at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke 
> (GBeanOperation.java:122)
>        at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke 
> (GBeanInstance.java:817)
>        at org.apache.geronimo.gbean.runtime.RawInvoker.invoke 
> (RawInvoker.java:57)
>        at  
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke 
> (RawOperationInvoker.java:35)
>        at  
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept 
> (ProxyMethodInterceptor.java:96)
>        at org.openejb.ContainerIndex$$EnhancerByCGLIB$ 
> $189ca9f6.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:53)
>        at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke 
> (FastMethodInvoker.java:38)
>        at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke 
> (GBeanOperation.java:122)
>        at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke 
> (GBeanInstance.java:817)
>        at org.apache.geronimo.gbean.runtime.RawInvoker.invoke 
> (RawInvoker.java:57)
>        at  
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke 
> (RawOperationInvoker.java:35)
>        at  
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept 
> (ProxyMethodInterceptor.java:96)
>        at org.activeio.xnet.ServerService$$EnhancerByCGLIB$ 
> $d5535dbf.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)
>
> How can I go "higher than root" to take the first / off the URI path?
> Or do I have the syntaxt of the URI path completely wrong?
>
> Any help appreciated, thanks.