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.
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 User user = (User) Naming.lookup("rmi://localhost:2048/user"); Note note = (Note)Naming.lookup("rmi://localhost:2048/note");
Par contre, à un moment, le Client doit appeler une méthode de ce genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 note.setTitre("mon titre"); user.setPrenom("toto");
Et là ça plante, j'ai cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part user.add(note)
Je pense que c'est parce-que je passe l'objet note en paramètre, qui est lui même un objet distant..Erreur : java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: unrecognized method hash: method not supported by remote object
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.
Partager