Отправка пользовательского объекта в качестве параметра для веб-сервиса - PullRequest
1 голос
/ 13 сентября 2011

Как можно указать пользовательский объект в качестве параметра для метода веб-службы при вызове через сообщение SOAP?

Скажите, у меня есть этот код:

SOAPElement operation = body.addChildElement("MyMethod", "", trgNamespace);
SOAPElement value = operation.addChildElement("arg0");
value.addTextNode("i need to send here a custom object not a string")
request.saveChanges();

addTextNode отправляетстрока, тогда как мне нужно отправить свой собственный объект в качестве параметра для вызова.

Ответы [ 3 ]

2 голосов
/ 13 сентября 2011

Вы должны сериализовать свой объект, чтобы передать его по линии. Сериализация часто выполняется с использованием XML или JSON, подробности см. По следующей ссылке: http://en.wikipedia.org/wiki/Serialization

Это должно вывести вас на правильный путь.

0 голосов
/ 13 сентября 2011

Я мог бы придумать другой подход

  1. Вы можете отправить этот пользовательский объект в виде двоичных данных (я предполагаю, что ваш объект поддерживает сериализацию). Затем закодируйте эти данные, скажем, в кодировку Base64.
  2. Существует аналогичная проблема , заданная ранее. Пожалуйста, проверьте эту ссылку. Это кажется наиболее актуальным для вашей проблемы.
  3. Другая ссылка , упомянутая в вышеприведенном сообщении, дает хороший обзор решения подобных проблем в целом.
0 голосов
/ 13 сентября 2011

Может быть, попробовать более высокий уровень и использовать генератор заглушек на основе WSDL для Java?Это Ось WSDL в Java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...