# RMI Fehler beim Proxy



## joern1 (2. Okt 2007)

Hallo,

achdem ich mich nun mit Sockets beschäftigt habe, versuche ich nun mit RMI eine Client/ServerKommunikation aufzubauen.

Ich arbeite mit Eclipse und da habe ich mir erst einmal dieses Plugin installiert:

net.genady.rmi_2.0.7

Das funktioniert auch ganz prächtig. 

Der Server läßt sich starten und das Remote Objekt wird auch in die Registry eingetragen


```
import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;

public class RemoteImpl extends UnicastRemoteObject implements Remote{
	
	private String daten; 
	
	public RemoteImpl() throws RemoteException{
		
		
		
		
	}//Konstruktor
	
	
	
	
	public void sendData(String daten){
		
		this.daten = daten; 
		
		System.out.println("Daten an den Server gesendet!"); 
	}
		
	public static void main(String args[])
	{
		
		try{
			
			
				
				LocateRegistry.createRegistry(Registry.REGISTRY_PORT); 
				
		
				
			
			//Remote Object erzeugen
			Remote service = new RemoteImpl();
			Naming.rebind("RemoteKommunikation", service);
		   }
		   catch(Exception ex)
		   {
			ex.printStackTrace();
			System.out.print("Registry Fehler"); 
		   }
		System.out.print("Server gestartet"); 
	}
	

}// end of class
```

Hier mein Interface


```
import java.rmi.*;

public interface RMIRemote extends Remote {
	
	public void sendData(String daten) throws RemoteException;
	
	
}
```

So, bem Starten des Clients bekomme ich die folgende Fehlermeldung:

java.lang.ClassCastException: $Proxy0 cannot be cast to RMIRemote
	at View1.main(View1.java:25)
Fehler beim Aufbau der Remote Schnittstelle

Hier mein Client:


```
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.RMISecurityManager;




public class View1 {
	
	static String daten;
	
	
	public View1(){
	
	 daten = "Hallo Server, ich bin der Client";
	 
	
	}//Konstruktor
	
	public static void main(String args[]){

	try{
		
		RMIRemote service = (RMIRemote) Naming.lookup("//127.0.0.1/RemoteKommunikation");
    	 
    	 service.sendData(daten);
    	
   	}
    	catch(Exception ex)
    	{
    		ex.printStackTrace();
    		System.out.println("Fehler beim Aufbau der Remote Schnittstelle");
    	}	
	
	
	} // main Methode
	
	
	
}//class
```

Leider habe ich bei google keine brauchbaren Hinweise finde können....

Woran kann es wohl liegen, dass ich das Interface nicht casten kann ?
Die Dateien liegen alle in gleichen Package.

Über Hinweise wäre ich sehr dankbar.

Grüße
Jörn


----------



## Niki (3. Okt 2007)

Deine RemoteImpl Klasse implementiert Remote, und sollte aber RMIRemote implementieren


----------



## joern1 (3. Okt 2007)

:lol: alles klar...

Ich danke Dir. Genau so ist es!!


----------

