EJB3 and jboss4.0.3SP1 jndi exception from standalone progra
delkant Nov 21, 2005 12:52 PMHi. i have the next problem,
i have one ejb3 Test.class with the next code:
Server side
package my.pkg.ejb;
import javax.ejb.Remote;
import javax.ejb.Stateful;
@Stateful
@Remote
public class Test {
public String getTest(){
return "the big test";
}
}
and then i have also my Client
Test
package py.pkg.client.jnditest;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
import my.pkg.Test;
public class Test
{
/**
* @param args
*/
public static void main(String[] args)
{
try{
Properties prop = new Properties();
prop.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
prop.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
prop.put(Context.PROVIDER_URL, "jnp://localhost:1099");
//Use them to get the context
Context context = new InitialContext(prop);
Object ref = context.lookup(Test.class.getName());
Test p = (Test)PortableRemoteObject.narrow(ref, Test.class);
System.out.println("lookup(test): " + p.getTest());
}
catch (Exception e)
{
System.out.println("Exception "+e);
e.printStackTrace();
}
}
}
i put also in my classpath the jbossall-client.jar, the ejb3 class.
but when i run my test client.. i get the next ERRROR
Exception javax.naming.NamingException: Could not dereference object [Root exception is java.lang.ArrayIndexOutOfBoundsException: 0]javax.naming.NamingException: Could not dereference object [Root exception is java.lang.ArrayIndexOutOfBoundsException: 0]
at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1135)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:690)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:572)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at py.com.wpg.jnditest.Test.main(Test.java:49)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
at org.jboss.ejb3.session.BaseSessionProxyFactory.getEjbMetaData(BaseSessionProxyFactory.java:76)
at org.jboss.ejb3.session.BaseSessionProxyFactory.setEjb21Objects(BaseSessionProxyFactory.java:47)
at org.jboss.ejb3.stateful.StatefulRemoteProxyFactory.createProxy(StatefulRemoteProxyFactory.java:112)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:121)
at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:69)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:566)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:436)
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:247)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:285)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:169)
can anyone help me??
thanks