Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

RMI-Problem

4 views
Skip to first unread message

Mike vSchultz

unread,
Jun 7, 2004, 7:03:14 AM6/7/04
to
Hallo,

ich habe ein kleines Problem mit Java-RMI.
Ich habe einen Server- und ein Clientprogramm, sobald ich den Server
starten will,
erhalte ich folgende Fehlermeldung:

Exception in thread "main" java.rmi.ServerException: RemoteException
occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments;
nested exception is:
java.lang.ClassNotFoundException: AdderImpl_Stub
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:352)

und noch eine Menge Zeilen mehr.

Die einzelnen Quelldateien sehen so aus:

import java.rmi.*;
public interface Adder extends Remote {
public int add(int x, int y) throws RemoteException;
}
********************************************************
import java.rmi.*;
import java.rmi.server.*;

public class AdderImpl extends UnicastRemoteObject implements Adder{

public AdderImpl() throws RemoteException {
}

public int add( int x, int y ) throws RemoteException {
return x + y;
}
}
********************************************************
import java.net.*;
import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;
public class AdderServer {
public static void main(String args[]) throws Exception{
AdderImpl adder = new AdderImpl();
Naming.rebind("Adder", adder);
System.out.println("Adder bound");
}
}

Kann mir jemand sagen, warum ich den Server nicht starten kann?
javac und rmic laufen ohne Problemedurch.

MfG Mike

Michael Peters

unread,
Jun 7, 2004, 7:11:28 AM6/7/04
to
Hi,

Mike vSchultz wrote:
> Ich habe einen Server- und ein Clientprogramm, sobald ich den Server
> starten will,
> erhalte ich folgende Fehlermeldung:
>
> Exception in thread "main" java.rmi.ServerException: RemoteException
> occurred in server thread; nested exception is:
> java.rmi.UnmarshalException: error unmarshalling arguments;
> nested exception is:
> java.lang.ClassNotFoundException: AdderImpl_Stub
> at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:352)

Ich hab zwar noch nie was mit RMI gemacht, hab aber darüber gelesen (und
zwar im Javabuch: <http://www.javabuch.de/>.

Nach dem Schreiben deiner Klassen musst du noch Stub und Skeleton
erzeugen mit dem Programm "rmic", welches auch beim JDK dabei ist.

Lies einfach mal im Javabuch nach.

ciya
Michael

Hubert Partl

unread,
Jun 7, 2004, 7:40:23 AM6/7/04
to
Mike vSchultz <okt...@sealion.de> wrote:
> java.rmi.UnmarshalException: error unmarshalling arguments;

Das kann viele Ursachen haben, z.B. dass die Stub-Klasse am Client eine
andere Version hat als die Implementierungs-Klasse am Server.

> nested exception is:
> java.lang.ClassNotFoundException: AdderImpl_Stub

Das bedeutet, dass die Stub-Klasse am Client überhaupt nicht
gefunden wird (Classpath-Problem?)

--
Hubert Partl pa...@mail.boku.ac.at
ZID BOKU Wien http://homepage.boku.ac.at/partl/
~~~~~~~~an~der~schoenen~blauen~Donau~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Mike Schultz

unread,
Jun 8, 2004, 4:10:56 PM6/8/04
to
Hubert Partl tippte am 07 Jun 2004:

> Das bedeutet, dass die Stub-Klasse am Client überhaupt nicht
> gefunden wird (Classpath-Problem?)

Hab das Problem gelöst, lag tatsächlich am Classpath. Zum Test lagen Server
und Client in einem Verzeichnis, incl. Stub und Skeleton. Nur irgendwie
wollte der Uni-Recher die Änderung des Classpath nicht mitmachen.

Mike

0 new messages