SocialNetworking Webservice Aufruf - NotSerializableException
Author: mielimonka
Publication Date: 11/25/2015 13:45
Hallo zusammen,
aktuell habe ich bei einem Webservice Aufruf aus unserem SocialNetworking ContentCreator Modul folgendes Problem:
Wir versuchen Media Inhalte (Bild/Video) aus unserem FS Modul heraus durch einen FirstSpirit Service an einen Webservice zu übergeben, sodass dieser Inhalt dort weiterverarbeitet werden kann.
Hierzu verwenden wir ein DTO("SocialMediaPostDto"), welches einen InputStream des jeweiligen Elements in einem javax.activation.DataHandler Objekt kapselt und an den Webservice (apache cxf) weiterleiten soll.
Beim Aufruf des Services bekomme ich nun folgende Fehlermeldung, da das Objekt nicht serialisiert werden kann:
Parameter not serializable! Method SocialNetworkingContentcreator Service.publishContent(de.espirit.firstspirit.io.ManagerCallSignature@88ac6c7a{manager=SocialNetworkingContentcreator Service, method=publishContent, params=[class de.adesso.socialnetworking.webservice.dto.SocialMediaPostDto, class java.lang.String, class java.lang.String, class java.lang.String]}, [de.adesso.socialnetworking.webservice.dto.SocialMediaPostDto@1a8d06d, 983040, DUMMY, http://localhost:8080/socialnetworking/services/publishing]) - java.io.NotSerializableException: javax.activation.DataHandler
Normale Java Objekte z.B. String können problemlos übertragen werden.
Ich hoffe, jemand kann mir bei dem Problem weiterhelfen oder kennt hierzu best practices / hat eine Idee.
Viele Grüße
Michael
-
Author: mielimonka - 12/22/2015 8:57
Hi,
das Problem habe ich nach einiger Zeit noch behoben bekommen. Das Problem lag nicht daran, dass ein Objekt im Graph nicht serialisierbar war.
Ursprünglich habe ich nur den Webservice Aufruf in dem FS-Service gekapselt und das DTO samt InputStream aus einem nicht FS-Service an den FS-Service übergeben. Hierbei kam es ja zu der genannten Exception.
Nachdem ich den InputStream direkt in dem FS-Service geholt und dort auch das DTO erstellt habe, war das Problem behoben. Anscheinend wird FirstSpirit intern beim aufruf eines Services noch etwas serialisiert, was mir nicht klar war.
Viele Grüße
Michael
0
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.
Kommentare
1 Kommentar