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à :
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)
NB :J'ai essayé le même code rmi ds une application distincte et ça a marché


Client.
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");
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);
	}