Отправка данных через клиент SOAP с включенным WSDL - PullRequest
1 голос
/ 03 июня 2019

Мне нужно сделать новый проект, но, поскольку я новичок в SOAP, мне потребуется некоторая помощь, чтобы начать. Мне нужно отправить некоторые данные, которые загружаются в файл, через запрос SOAP и получить ответ от сервера. Я не знаю, что именно делать с файлом -> и как отправить запрос через мыло с этими данными?

Кроме того, данные должны отправляться через SOAP в формате XML - у меня есть руководство, но, поскольку я никогда не работал с SOAP, мне нужна дополнительная помощь.

Я думал, что я использую JAXB Marshaller для маршалинга данных в формате XML, но я не знаю, как отправить это дальше на сервер?

Буду признателен за любую помощь - если у вас есть примеры еще лучше.

Ответы [ 2 ]

1 голос
/ 03 июня 2019

Вам необходимо сформулировать запрос в формате SOAP, который обычно выглядит примерно так:

POST http://some.url:1337/someService_WS
Accept-Encoding: stuff
Content-Type: text/xml;charset=UTF-8
SOAPAction: "some:urn:here:1/someService/someOperation"
Content-Length: 300 (whatever content lenght you have withing the envelope)
Host: someservername.com:1337
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.5.1 (Java/2.0) (use your own stuff ;))

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="some:urn:here:1">
   <soapenv:Header/>
   <soapenv:Body>
      <SomeOperation xmlns="some:urn:here:1">
         <someElement>someValue123</someElement>
      </SomeOperation>
   </soapenv:Body>
</soapenv:Envelope>

Все, что на самом деле представляет собой SOAP, это формат для отправки и получения информации SOAP, его стандарт / протокол. После того, как ваше сообщение сформулировано в SOAP, вам нужно поместить свое сообщение в очередь где-то, чтобы быть захваченным службой, или отправить его на URL-адрес веб-службы для его обработки. Вы можете использовать все виды инструментов, чтобы сделать это проще. Я лично использую SOAPUI / ReadyAPI, у которого есть бесплатная версия и несколько хороших учебников, чтобы начать.

https://www.soapui.org/downloads/soapui.html

Надеюсь, это поможет вам! Cheers,

1 голос
/ 03 июня 2019

Вы можете использовать:

Команда: wsimport команда для разбора файла CompA WSDL.

Пример: - wsimport -keep -verbose http://compA.com/ws/server?wsdl

Используя это, вы можете общаться с сервисом.

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