File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Distributed Java and the fly likes RemoteException Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Distributed Java
Bookmark "RemoteException" Watch "RemoteException" New topic


Ranch Hand

Joined: Nov 30, 2000
Posts: 30
I just started learning RMI and tried to execute the example given in Sun tutorial.
I am getting the following error
Trouble: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: CalculatorImpl_Stub

Thanks in advance..
Michael Ernest
High Plains Drifter

Joined: Oct 25, 2000
Posts: 7292

This exception means the client attempted to download a stub from the server and couldn't find it.
You can get this exception for a variety of reasons:
1) The server-side doesn't have the stub. This is done by running the rmic tool against the implementation of a remote Interface
2) The server doesn't store the stub where the client can find it. This may be due to setting the System property java.rmi.server.codebase incorrectly, or not at all.
3) The server doesn't serve ("export") the stub. The server must have rmiregistry runnning on the server, and must make sure the rmiregistry CANNOT see the exportable object via its CLASSPATH.
3) The client is looking in the wrong place for the stub.
One of the unfortunate elements of learning RMI initially is that a great number of things can go wrong; there are a lot of details to handle correctly before you get a satisfying result.
Michael Ernest, co-author of:

    The Complete Java 2 Certification Study Guide

    [This message has been edited by Michael Ernest (edited December 21, 2000).]

Make visible what, without you, might perhaps never have been seen.
- Robert Bresson
I agree. Here's the link:
subject: RemoteException
It's not a secret anymore!