Hallo Leute,
ich arbeite mit:
- java jdk1.5.0
- eclipse 3.0.0
- OS: Windows XP.
Ich habe einen Server auf Rmi basis geschrieben. Dieser Server ist mit zwei Clienten verbunden einer davon ist Standalone und der andere ist in der Eclipse-Umgebung eingebaut.
Der Server funktioniert Folgendermassen:
der Standalone Client meldet sich beim Server und sagt ihm welche Objecte er zur verfügung stellen soll. Der Server erstellt eine ArrayList mit den Namen aller, zur verfügung gestellten, Objecten und speichert die Objecte auf der Festplatte. Der Client der in der Eclipse-Umgebung lässt sich vom Server die Liste mit allen Objecten geben und fordert dann die für ihn Interessanten Objecte an.
Mein Problem:
Der Austausch von Daten zwischen dem Standalone Client und dem Server funktioniert einwandfrei. Aber bei dem Austausch mit dem Clienten in der Eclipse-Umgebung funktioniert nur die Übergabe der ArrayList, bei den Objecten kriege ich folgende FehlerMeldung:
Darauf hin habe ich probiert einen RMISecurityManager einzubinden mit folgendem Code:
Dieses hat mir dann Folgende Fehlermeldung geworfen:
Ich habe dann noch weiter mit SocketPermisson und RMIClassLoader probiert, kam aber zu keinem ergebniss.
Ich hoffe einer von euch hat eine Idee was ich falsch gemacht oder übersehen habe.
mfg
Mathias Buchallik
ich arbeite mit:
- java jdk1.5.0
- eclipse 3.0.0
- OS: Windows XP.
Ich habe einen Server auf Rmi basis geschrieben. Dieser Server ist mit zwei Clienten verbunden einer davon ist Standalone und der andere ist in der Eclipse-Umgebung eingebaut.
Der Server funktioniert Folgendermassen:
der Standalone Client meldet sich beim Server und sagt ihm welche Objecte er zur verfügung stellen soll. Der Server erstellt eine ArrayList mit den Namen aller, zur verfügung gestellten, Objecten und speichert die Objecte auf der Festplatte. Der Client der in der Eclipse-Umgebung lässt sich vom Server die Liste mit allen Objecten geben und fordert dann die für ihn Interessanten Objecte an.
Mein Problem:
Der Austausch von Daten zwischen dem Standalone Client und dem Server funktioniert einwandfrei. Aber bei dem Austausch mit dem Clienten in der Eclipse-Umgebung funktioniert nur die Übergabe der ArrayList, bei den Objecten kriege ich folgende FehlerMeldung:
Code:
java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
java.lang.ClassNotFoundException: serverObject (no security manager: RMI class loader disabled)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:162)
at ...
Caused by: java.lang.ClassNotFoundException: serverObject (no security manager: RMI class loader disabled)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:371)
at
Darauf hin habe ich probiert einen RMISecurityManager einzubinden mit folgendem Code:
Code:
if (System.getSecurityManager() == null) {
System.setSecurityManager(new RMISecurityManager());
}
Dieses hat mir dann Folgende Fehlermeldung geworfen:
Code:
java.security.AccessControlException: access denied (java.net.SocketPermission 192.168.0.7:1130 connect,resolve)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
at ...
Ich habe dann noch weiter mit SocketPermisson und RMIClassLoader probiert, kam aber zu keinem ergebniss.
Ich hoffe einer von euch hat eine Idee was ich falsch gemacht oder übersehen habe.
mfg
Mathias Buchallik