Bonjour,

Je voudrai passer un objet en parametre d'un methode, mais apres plusieurs essais différents j'ai toujours des erreurs à l'execution mais pas à la compilation. La derniere est
java.lang.ClassCastException: $Proxy0 cannot be cast to ServeurCalcul
Voila le code qui recupere l'objet distant et qui essai d'effectué une methode sur cette objet(la méthode en question a pour but d'inserer l'objet Serveur calcul dans un tableau de serveurCalcul de la classe distante)

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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
//ServerCalcul.java
import java.rmi.server.*;
import java.rmi.*;
import java.math.*;
import java.io.Serializable;
 
 
public class ServeurCalcul extends UnicastRemoteObject implements PiInterfacePart
{
 
	public int nbServ;
 
	public ServeurCalcul()throws RemoteException{ super();}
 
	public BigDecimal calculPart(int nbDecimal, int index) throws RemoteException {...}
 
public static void main (String args[]){
 
		try
		{
		System.out.println("Récuperation de l'objet");
		System.out.println("je crée le serveur à inserer");
		PiInterfacePart SC = new ServeurCalcul();
 
		PiInterface p = (PiInterface)Naming.lookup("rmi://localhost:1099/PiImpl");
		System.out.println("Insertion de ce serveur dans l'impl");
		p.insertServ(SC);//<-------CA PLANTE SUR CETTE METHODE
System.out.println("Serveur de calcul pret");
		}
		catch(Exception e)
		{
			System.out.println("Erreur de liaison de l'objet dans le PiImplpart coté Calcul");
			System.out.println(e.toString());
		}
 
 
	}
 
 
}
voila le code ou se trouve la methode elle doit récupérer l'objet ServeurCalcul et l'inserer grace à la methode insertServ().
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
21
22
23
24
25
26
27
28
29
30
31
32
 
//PiImpl.java
import java.rmi.*;
import java.rmi.server.*;
import java.math.*;
 
 
public class PiImpl extends UnicastRemoteObject implements PiInterface
 
{
	public BigDecimal S;
	public ServeurCalcul [] tab = new ServeurCalcul[100];
 
 
	public PiImpl()throws RemoteException{
		super();
	}
 
	public void insertServ(PiInterfacePart SC)throws RemoteException{
                if (tab.length==0)
                {
                ServeurCalcul Sv = (ServeurCalcul)SC;
                tab[0]=Sv
                }
                else
                {
		int indexInsert = tab.length + 1;
		ServeurCalcul Sv = (ServeurCalcul)SC;
		tab[indexInsert] = Sv;
                }
	}
 ...
Voila je suis preneur pour n'importe quelle idée qui fera avancer le chmilibilibilique...
Merci d'avance.