Frage

Ich versuche, RemoteObject aus ActionScript zu verwenden, um eine einfache Methode auf der Java-Serverseite mit GraniteDS auszuführen.Ich erhalte jedoch die folgende Ausnahme:

15:43:30,630 DEBUG http-bio-8080-exec-27 webapp.AMFEndpoint:64 - >> Deserializing AMF0 request...
15:43:30,630 ERROR http-bio-8080-exec-27 webapp.AMFEndpoint:91 - AMF message error
java.io.EOFException
    at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:323)
    at org.granite.messaging.amf.io.AMF0Deserializer.readHeaders(AMF0Deserializer.java:94)
    at org.granite.messaging.amf.io.AMF0Deserializer.<init>(AMF0Deserializer.java:76)
    at org.granite.messaging.webapp.AMFEndpoint.service(AMFEndpoint.java:66)
    at org.granite.spring.FlexFilter.handle(FlexFilter.java:245)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669)

Und so weiter.Hier ist der ActionScript-Teil:

remoteService = new RemoteObject();
remoteService.destination = "targetService";
remoteService.endpoint = "http://192.168.15.19:8080/test/";
remoteService.addEventListener(FaultEvent.FAULT, onRemoteServiceFault);
remoteService.connect.addEventListener(ResultEvent.RESULT, onConnectResult);
remoteService.connect();

Ich habe ein Debugging und eine Überwachung durchgeführt und konnte die vom Client gesendete AMF-Nachricht sehen.Und es sah normal aus.AMF0Deserializer kann es jedoch nicht deserialisieren.

Sende ich es falsch?Oder sollte auf der Serverseite ein Fehler auftreten?

War es hilfreich?

Lösung

Eigentlich habe ich den Fehler gefunden.An den Nachrichten ist nichts auszusetzen, aber auf der Serverseite sollte es keinen AMFMessageFilter geben.Stattdessen verwende ich AMFMessageServlet - es serialisiert / deserialisiert ohne Probleme und alles funktioniert hervorragend.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top