2013-03-05 48 views
5

我在Java中創建了一個Web服務,它返回DataHandler。 這必須能夠返回一個File,它工作正常。 但它也應該能夠返回String。 任何想法如何將StringDataHandler轉讓?DataHandler中的返回字符串

回答

8

JavaMailByteArrayDataSource,您可以使用此目的:

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

在MIME類型charset決定了編碼它將使用字符串轉換爲字節。

+0

謝謝,當我在一個新項目中測試它時,這幫了我很大的忙。但是當我在我當前的項目中實現它並嘗試運行它時,我得到'WebServiceException:未能訪問WSDL'。我沒有這個錯誤,如果我用FileDataSource發送一個文件... – dumazy 2013-03-05 12:16:43

+0

經過進一步的測試和日誌記錄:ByteArrayDataSource構造函數導致我的webMethod再次被調用(一次),並且什麼都不做...... 它甚至不拋出任何形式的例外 – dumazy 2013-03-05 14:26:48