java.rmi.UnmarshalException: error unmarshalling arguments; nested
exception is:
java.lang.ClassNotFoundException: Somma (no security manager: RMI
class loader disabled)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:
285)
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)
Caused by: java.lang.ClassNotFoundException: Somma (no security
manager: RMI class loader disabled)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:371)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:165)
at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:
620)
at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247)
at
sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:
197)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:
1538)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:
1460)
at java.io.ObjectInputStream.readClass(ObjectInputStream.java:1427)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1282)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:290)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:
279)
... 6 more
credo di aver fatto tutto nella norma pero'....
cosa sbaglierei?
Il prob e che rmiregistry non trova le tue classi
(ClassNotFoundException)
hai due possibilita'
1) fai partire RMIRegistry dalla dir che contiene le tue classi ( o la
die che contiene il loro primo package se stanno in un package)
2) metti la dir di cui sopra nel CLASSPATH
Ho provato a mettere la dir nel CLASSPATH.. ma non cambia niente...
per quanto riguarda l'RMIRegistry come dovrei fare a farlo partire
nella classe desiderata? Ho provato a copiare il file con lo stub in
ogni cartella per prova... ma non cambia niente... Sbaglio ancora?
Ho provato a mettere la dir nel CLASSPATH.. (ho provato a meterle
tutte) ma il risultata non cambia...
invece come dovrei fare per far partire RMIRegistry dalla dir che
contiene le classi... perche' io lo creo con
RemoteInterface interf = (RemoteInterface)
UnicastRemoteObject.exportObject(ri, REGISTRYPORT);
Registry reg = LocateRegistry.createRegistry(REGISTRYPORT);
sbaglio ancora?
Grazie
Ho provato a mettere le dir nel CLASSPATH (ce le ho messe tutte quelle
che contengono il progetto... ) ma il risultato non cambia...
per l'RMIRegistry io lo creo cosi':
Registry reg = null;
RemoteInterface interf = null;
interf = (RemoteInterface) UnicastRemoteObject.exportObject(ri,
REGISTRYPORT);
reg = LocateRegistry.createRegistry(REGISTRYPORT);
reg.rebind("oggetto",interf);
sbaglio ancora?