2013-03-05 8 views
5

Ich habe einen Web-Service in Java erstellt, die eine DataHandler zurückgibt. Dies muss in der Lage sein, eine File zurückgeben, die gut funktioniert. Aber es sollte auch eine String zurückgeben können. Irgendeine Idee, wie ich eine String mit einer DataHandler übertragen kann?Return String in DataHandler

Antwort

8

JavaMail hat ein ByteArrayDataSource, die Sie für diesen Zweck verwenden können:

DataSource ds = new ByteArrayDataSource(theString, "text/plain; charset=UTF-8"); 
DataHandler handler = new DataHandler(ds); 

Die charset in dem MIME-Typ bestimmt, was es kodiert wird die Zeichenfolge in Bytes konvertieren verwenden.

+0

Danke, das hat mir geholfen, als ich es in einem neuen Projekt zum Testen ausprobiert habe. Aber wenn ich es in meinem aktuellen Projekt implementiere und versuche, es auszuführen, erhalte ich eine 'WebServiceException: Fehler beim Zugriff auf die WSDL'. Ich habe diesen Fehler nicht, wenn ich eine Datei mit einer FileDataSource ... – dumazy

+0

Nach weiteren Tests und Protokollierung: der ByteArrayDataSource-Konstruktor veranlasst, dass meine webMethod erneut (einmal) aufgerufen wird und nichts tut ... Es ist nicht einmal eine Ausnahme jeglicher Art auslösen – dumazy