[jboss-user] [Remoting] - Re: ClassNotFoundException while calling remote ejb3 across

avogt_sundn do-not-reply at jboss.com
Tue Jun 24 03:42:23 EDT 2008


Thank you, Ron.

Yet, one thing remains, perhaps based on my missconception:

I took your ScopedTest and changed according to my use case:
TravelAgentBean now implements another @Remote interface, namely SpecialTravelAgent. This interface is not available in the clients class loader.

When the client now does a lookup, he gets a remoteproxystub, but cannot use it because that other business interface ist not being loaded from the remote class loader.

This is my case: i want to use an ejb that has one remote interface know to the client, but has various other remote interfaces NOT KNOWN to the client.
Is that possible?

Just add some interface SpecialTravelAgent to the deployment, BUT not to the client.jar!

The exception in the Client.java then is

  | javax.naming.CommunicationException [Root exception is java.lang.ClassNotFoundException: com.titan.travelagent.SpecialTravelAgent]
  | 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:786)
  | 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
  | 	at javax.naming.InitialContext.lookup(InitialContext.java:351)
  | 	at com.titan.client.Client.testScoped1(Client.java:46)
  | 	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 junit.framework.TestCase.runTest(TestCase.java:154)
  | 	at junit.framework.TestCase.runBare(TestCase.java:127)
  | 	at junit.framework.TestResult$1.protect(TestResult.java:106)
  | 	at junit.framework.TestResult.runProtected(TestResult.java:124)
  | 	at junit.framework.TestResult.run(TestResult.java:109)
  | 	at junit.framework.TestCase.run(TestCase.java:118)
  | 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
  | 	at junit.framework.TestSuite.run(TestSuite.java:203)
  | 	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
  | 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
  | 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
  | 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
  | 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
  | 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
  | Caused by: java.lang.ClassNotFoundException: com.titan.travelagent.SpecialTravelAgent
  | 	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
  | 	at java.security.AccessController.doPrivileged(Native Method)
  | 	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
  | 	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
  | 	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
  | 	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
  | 	at java.lang.Class.forName0(Native Method)
  | 	at java.lang.Class.forName(Class.java:242)
  | 	at sun.rmi.server.LoaderHandler.loadProxyInterfaces(LoaderHandler.java:707)
  | 	at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:651)
  | 	at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:588)
  | 	at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:628)
  | 	at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:294)
  | 	at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:238)
  | 	at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1500)
  | 	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1463)
  | 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
  | 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
  | 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
  | 	at java.rmi.MarshalledObject.get(MarshalledObject.java:135)
  | 	at org.jnp.interfaces.MarshalledValuePair.get(MarshalledValuePair.java:72)
  | 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:710)
  | 	... 21 more
  | 
  | 
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4160112#4160112

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4160112



More information about the jboss-user mailing list