javax.naming.CommunicationException
vidhmani Mar 4, 2004 12:12 AMhi
i am using jboss3.2.2
i tried to invoke a ejb in the remote server.In my client i have installed security manager and also set the jndi properties.
My client code is
public class Client
{
public static void main(String args[]) throws Exception
{
if (System.getSecurityManager()== null)
System.setSecurityManager(new RMISecurityManager());
System.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
System.setProperty("java.naming.provider.url","jnp://192.168.100.30:1099/");
System.setProperty("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
Properties props=System.getProperties();
try{
InitialContext jndiContext = new InitialContext(props);
Object ref = jndiContext.lookup("account");
AccountHome he= (AccountHome)PortableRemoteObject.narrow(ref,AccountHome.class);
Account rem=he.create();
int sum=rem.add(args[0],args[1]);
System.out.println("Sum is"+sum);
}
catch(Exception e1)
{ e1.printStackTrace();}
}
}
My error is (AccountHome is name of the home interface)
javax.naming.CommunicationException. Root exception is java.lang.ClassNotFoundException: AccountHome
at java.net.URLClassLoader$1.run(URLClassLoader.java:198)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:217)
at sun.rmi.server.LoaderHandler.loadProxyInterfaces(LoaderHandler.java:703)
at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:647)
at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:584)
at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:639)
at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:309)
at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:241)
at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1469)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1432)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1626)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at java.rmi.MarshalledObject.get(MarshalledObject.java:135)
at org.jnp.interfaces.MarshalledValuePair.get(MarshalledValuePair.java:30)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:550)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:507)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at Client.main(Client.java:56)
Can u help?
thanks in advance
vidhya