2013-03-05 3 views
5

Я создал веб-службу в Java, которая возвращает DataHandler. Это должно быть в состоянии вернуть File, который отлично работает. Но он также должен иметь возможность вернуть String. Любая идея, как я могу передать String с помощью DataHandler?Возвращаемая строка в DataHandler

ответ

8

JavaMail имеет ByteArrayDataSource, которые вы можете использовать для этой цели:

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

charset в типе мим определяет, какую кодировку он будет использовать для преобразования строки в байтах.

+0

Спасибо, это помогло мне, когда я попробовал его в новом проекте для тестирования. Но когда я реализую его в своем текущем проекте и пытаюсь запустить его, я получаю «WebServiceException: не удалось получить доступ к WSDL». У меня нет этой ошибки, если я отправляю файл с файлом FileDataSource ... – dumazy

+0

После дальнейшего тестирования и ведения журнала: конструктор ByteArrayDataSource вызывает мой webMethod для вызова снова (один раз) и ничего не делает ... Это даже не бросать исключение любого рода – dumazy

Смежные вопросы