Ich bekomme dann eine Exception:
java.rmi.UnmarshalException: Error unmarshaling return header nested
exception is: java.io.EOFException
Ich habe keine Ahnung, wodran das liegen kann... So lange programmiere ich
noch nicht mit RMI :-(
Vielleicht hat jemand von euch einen Anhaltspunkt, was es sein kann. Wie
gesagt, der Zugriff vom gleichen Rechner ist völlig problemlos.
Danke,
Hilmar
UnbmarshalledExcetpion bedeutet in der Regel, dass eine Klasse nicht
gefunden wurde. Denk daran die Codebase richtig zu setzen. Näheres
findest du in praktisch jedem Tutorial. Wenn es nciht daran liegt kannst
du uns ja wieder schreiben.
Gruss theo
Ich kann ja mal kurz schreiben, wie ich den Server und den Client starte:
Server:
java -cp mysql-connector-java-3.0.4-gamma-bin.jar:.
-Djava.rmi.server.codebase=file:///PfadZuMeinenDateien
-Djava.security.policy=PfadZumPolicyFile swp02.g1.rmi.PortalRMIServer &
Client:
java -Djava.security.policy=PfadZumPolicyFile
-Djava.rmi.server.codebase=file:///PfadZuMeinenDateien
swp02.g1.test.RMITest
Ich hatte beim Client erst den codebase nicht gesetzt, habe dies jetzt
aber nachgeholt, trotzdem keine Besserung :-(
Hilmar
Hier nochmal der komplette stackTrace bei dem Fehler, vielleicht hilft das
ja etwas mehr:
java.rmi.UnmarshalException: Error unmarshaling return header; nested
exception:
java.io.EOFException
java.io.EOFException
at java.io.DataInputStream.readByte(DataInputStream.java:224)
at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:186)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:122)
at
swp02.g1.rmi.PoertalRMIServerImplementation_Stub.createNewUser(Unknown
Source)
at swp02.g1.test.RMITest.main(RMITest.java:42)
Danke,
Hilmar
Also beim Aufruf der Methode createNewUser tritt eine EOFException
auf.... das hat natürlich nix mit der Codebase zu tun... Sorry.
Es scheint als würde während der Übertragung diese plötzlich
abgebrochen. Läuft denn der Server danach noch? Wenn ja wird wohl
einfach so der Socket geschlossen... Kannst du nach diesem Fehler den
Client neu starten und der selbe Fehler tritt wieder auf? (Also ohne
Neustart des Servers.)
Was in der Regel hilft ist zu versuchen ein minimales Beispiel des Codes
zu schreiben, dass den Fehler erzeugt. Manchmal lösen sich dadurch die
Probleme einfach in Luft auf.
Gibst du eigentlich alle Exception auf dem Server auch aus?
Gruss theo
Ich habe nochmal etwas mit rumgespielt. Ich habe eine Methode aufgerufen,
die nichts übergibt und nur einen int zurückbekommt. Selbst bei dieser
Methode wurde die genannte Exception geworfen.
Jetzt scheine ich aber das Problem gefunden zu haben, es liegt am
policyfile. Ich habe jetzt testweise alle Rechte gesetzt und dann getestet
und es läuft :-) Ich werde mich also damit jetzt noch ein wenig
auseinandersetzen und mal weitertesten.
Auf jeden Fall vielen Dank für deine Hilfe,
Hilmar
eigentlich sehen die Fehler durch das Policyfile anders aus, aber gut,
wenn es geholfen hat.
Gruss theo