Skip to Main Content

Java APIs

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

java.rmi.UnmarshalException: error unmarshalling arguments;

843793Mar 23 2006 — edited Nov 9 2006
Hi!

I'm a newbe with rmi, and I try to use a test program, from Thinking in Java:

ITiempoPerfecto.java
package c15.rmi;

import java.rmi.*;

interface ITiempoPerfecto extends Remote {
	long obtenerTiempoPerfecto() throws RemoteException;
}
TiempoPerfecto.java
package c15.rmi;

import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;
import java.net.*;

public class TiempoPerfecto extends UnicastRemoteObject implements ITiempoPerfecto {

	public long obtenerTiempoPerfecto () throws RemoteException {
		return System.currentTimeMillis();
	}
	
	public TiempoPerfecto() throws RemoteException {
		 super();
	}
	
	public static void main(String[] args) throws Exception {
		System.setSecurityManager(new RMISecurityManager());
		TiempoPerfecto tp=new TiempoPerfecto();
		Naming.bind("//localhost/TiempoPerfecto",tp);
		System.out.println("Preparado para dar la hora");
	}
}
and
MostrarTiempoPerfecto.java
package c15.rmi;

import java.rmi.*;
import java.rmi.registry.*;

public class MostrarTiempoPerfecto {
	public static void main(String[] args) throws Exception {
		System.setSecurityManager( new RMISecurityManager());
		ITiempoPerfecto t=(ITiempoPerfecto)Naming.lookup("//localhost/TiempoPerfecto");
		for (int i=0;i<10;i++)
			System.out.println("Tiempo perfecto: "+t.obtenerTiempoPerfecto());
	}
}
I compile all the files normally.
Later I do:
rmiregistry &
rmic c15.rmi.TiempoPerfecto
(This only generate the file TiempoPerfecto_Stub.class, it's ok?)

Without warnings or errors. But when I try to create a server object
java c15/rmi/TiempoPerfecto
I obtain this:
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: c15.rmi.TiempoPerfecto_Stub
        at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:385)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:240)
        at sun.rmi.transport.Transport$1.run(Transport.java:153)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
        at java.lang.Thread.run(Thread.java:595)
.......
What is the mistake? What may I do to run this programs?

Thank you!
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 7 2006
Added on Mar 23 2006
1 comment
359 views