Newsgroup: it.comp.java
Titolo: RMI - esercizio didattico

Sto preparando l'esame di informatica 2. Sto provando l'rmi di java. Sto
procedendo per passi. Il primo passo è quello di riuscire a registrare
l'oggetto remoto nel rmiregistry. Ho creato anche le classi di Stubs e
Skeleton, ma al momento della registrazione si genera un'eccezione. Sto
usando jbuilder7. Aiuto!!!!!!!!!!!!!!!!!!!!!!!!!
Grazie!
Andrea
package rmitest;
import java.rmi.*;
import java.rmi.server.*;
public class MyClass extends UnicastRemoteObject implements MyClassInterface
{public MyClass() throws RemoteException
 {
 }
 public void doSomething() throws RemoteException
 {System.out.println("Hello, I'm doing something!");
 }
}
package rmitest;
import java.rmi.*;
import java.rmi.server.*;
public interface MyClassInterface extends Remote
{public void doSomething() throws RemoteException;
}
package rmitest;
import java.rmi.*;
import java.rmi.server.*;
public class Server
{public static void main(String[] args)
 {try
  {MyClass myClassInstance = new MyClass();
  Naming.bind("callMe",myClassInstance);
  }
  catch(Exception e)
  {e.printStackTrace(System.out);
  }
 }
}

 procedendo per passi. Il primo passo č quello di riuscire a registrare



Ho solo tutto materiale reperibile su Internet:
MokaBook cap 6 
www.mokabyte.it
Thinking in Java cerca su google ti consiglio 2 ed. in  PDF
Tutorial JGuru

 ha scritto nel messaggio
news:bd744d$uae$1...@lacerta.tiscalinet.it...


policy diversa da quella di default.
Ok fatto, ma non funge ancora... stesso errore! Cmq ho notato che se
avvio l'RMIregistry da JB Tool->RMIRegistry si genera un'eccezione
diversa, molto meno "nidificata"...
D:\Programmi\j2sdk1.4.1_01\bin\javaw -classpath "D:\Documents and
Settings\Andrea\jbproject\RMITest\classes;D:\Programmi\j2sdk1.4.1_01\demo\jfc\Java2D\Java2Demo.jar;D:\Programmi\j2sdk1.4.1_01\demo\plugin\jfc\Java2D\Java2Demo.jar;D:\Programmi\j2sdk1.4.1_01\doc\guide\imf\spi-sample\CityIM.jar;D:\Programmi\j2sdk1.4.1_01\jre\lib\charsets.jar;D:\Programmi\j2sdk1.4.1_01\jre\lib\ext\dnsns.jar;D:\Programmi\j2sdk1.4.1_01\jre\lib\ext\ldapsec.jar;D:\Programmi\j2sdk1.4.1_01\jre\lib\ext\localedata.jar;D:\Programmi\j2sdk1.4.1_01\jre\lib\ext\sunjce_provider.jar;D:\Programmi\j2sdk1.4.1_01\jre\lib\im\indicim.jar;D:\Programmi\j2sdk1.4.1_01\jre\lib\jaws.jar;D:\Programmi\j2sdk1.4.1_01\jre\lib\jce.jar;D:\Programmi\j2sdk1.4.1_01\jre\lib\jsse.jar;D:\Programmi\j2sdk1.4.1_01\jre\lib\rt.jar;D:\Programmi\j2sdk1.4.1_01\jre\lib\sunrsasign.jar;D:\Programmi\j2sdk1.4.1_01\lib\dt.jar;D:\Programmi\j2sdk1.4.1_01\lib\htmlconverter.jar;D:\Programmi\j2sdk1.4.1_01\lib\tools.jar"
rmitest.Server 
java.rmi.ServerException: RemoteException occurred in server thread;
nested exception is: 
	java.rmi.UnmarshalException: error unmarshalling arguments;
nested exception is: 
	java.lang.ClassNotFoundException: rmitest.MyClass_Stub
	at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
	at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
	at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:350)
	at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
	at java.rmi.Naming.bind(Naming.java:111)
	at rmitest.Server.main(Server.java:10)
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments;
nested exception is: 
	java.lang.ClassNotFoundException: rmitest.MyClass_Stub
Caused by: java.lang.ClassNotFoundException: rmitest.MyClass_Stub
Se ho capito bene non trova la classe MyClass_Stub, che in realtŕ c'č
e si trova nella stessa cartella \classes. Perchč non la vede?
Intanto grazie
- Andrea -

Allora devi andare nella cartelle \jre\lib\security\  all'interno di
quella in cui hai installato l'SDK e procedere nello stesso modo.

Chiedo scusa... non avevo letto tutto il messaggio... non capisco
il motivo di questa eccezione, forse ci sono dei problemi con la
directory di lavoro.
Se puoi postare il codice gli do un'occhiata.
Hai provato a fare tutto da linea di comando invece che usare il
JBuilder?

Ho dato una lettura più attenta... stub e skeleton dovrebbero stare
all'interno della cartella classes\rmitest\ che corrisponde al package
rmitest, non all'interno di classes. Prova a spostarlo...

rmitest, non all'interno di classes. Prova a spostarlo...
Ci stanno già... scusa avevo sbagliato ad esprimermi. Cmq ti ho
spedito la cartella con tutto il progetto. Grazie davvero!
- Andrea -