2013-03-05 10 views
5

Ho creato un servizio Web in Java che restituisce un DataHandler. Questo deve essere in grado di restituire un File, che funziona bene. Ma dovrebbe anche essere in grado di restituire un String. Qualche idea su come posso trasferire un String con un DataHandler?Restituisce stringa in DataHandler

risposta

8

JavaMail ha un ByteArrayDataSource che è possibile utilizzare per questo scopo:

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

Il charset nel tipo MIME determina quale codifica verrà utilizzato per convertire la stringa di byte.

+0

Grazie, questo mi ha aiutato quando ho provato in un nuovo progetto per il test. Ma quando lo implemento nel mio progetto attuale e provo a eseguirlo, ricevo un 'WebServiceException: impossibile accedere al WSDL'. Non ho questo errore se invio un file con FileDataSource ... – dumazy

+0

Dopo ulteriori test e registrazione: il costruttore ByteArrayDataSource fa sì che il mio webMethod venga chiamato di nuovo (una volta) e non fa nulla ... Non ha nemmeno lanciare un'eccezione di qualsiasi tipo – dumazy

Problemi correlati