Bonsoir tout le monde ,
J'expose mon problème je suis en train de travailler sur une application 5 tiers dans laquelle la couche métier (sur un serveur tomcat ) communique avec la couche intégration via RMI .
J'ai tout établis , le Serveur se lance avec création de stub . le problème et au niveau client RMI (couche métier ) ,j'ai cette erreur là :
NB :J'ai essayé le même code rmi ds une application distincte et ça a marché
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 java.rmi.UnmarshalException: error unmarshalling return; nested exception is: java.lang.ClassNotFoundException: rmi_impl.Serveur_Stub (no security manager: RMI class loader disabled) at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) at rmiClient.Client.conn(Client.java:25) at Servlet.Serv.doGet(Serv.java:39) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Client.Serveur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 try {//acceder à l'annuiaire Registry annuaire = LocateRegistry.getRegistry(PORT); System.out.println( hostname = InetAddress.getLocalHost().getHostName()); ServeurDistant sd =(ServeurDistant)annuaire.lookup("rmi://"+hostname+":"+PORT+"/serveur");
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 public class Serveur extends UnicastRemoteObject implements ServeurDistant { public static final int PORT=1069; private Registry annuaire; public Serveur () throws RemoteException { annuaire = LocateRegistry.createRegistry(PORT); } // publication dans l'annuaire private void start() throws UnknownHostException, AccessException, RemoteException { String hostname = InetAddress.getLocalHost().getHostName(); String url ="rmi://"+hostname+":"+PORT+"/serveur"; annuaire.rebind(url, this); System.out.println("le serveur est publié sur"+url); }
Partager