Bonjour,

Je suis débutant en RMI java.
Après avoir consulté de nombreux tutos, je n'ai trouvé nul part ma réponse.

J'ai un Serveur et un Client.
Le Serveur a deux classes : User et Note
J'ai créé toutes les interfaces et classes nécessaires.

Le client récupère les références d'un User et d'une Note.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
User user = (User) Naming.lookup("rmi://localhost:2048/user");
Note note = (Note)Naming.lookup("rmi://localhost:2048/note");
Le client peut appeler des méthodes sur User et Note, tout ceci fonctionne, par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
note.setTitre("mon titre");
user.setPrenom("toto");
Par contre, à un moment, le Client doit appeler une méthode de ce genre :

Et là ça plante, j'ai cette erreur :

Erreur : java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: unrecognized method hash: method not supported by remote object
Je pense que c'est parce-que je passe l'objet note en paramètre, qui est lui même un objet distant..

J'ai vu à des endroits qu'il fallait implémenter "Serializable", mais ça ne marche pas, toujours la même erreur.


En fait, je voudrais passer un objet Remote en paramètres d'une méthode, comment faire svp ?
Si je passe des paramètres de type "String", "int", etc... tout fonctionne.

Merci beaucoup.