2016-12-18 6 views
0

Я разрабатываю свое первое приложение Spring Boot, содержащее как мыло, так и отдых webservice. Я должен передать Request в url в качестве параметра. Я могу передать запрос в URL для службы Rest. Можно ли отправить запрос в URL-адрес для SOAPwebservice?SOAP и Rest Webservice с использованием Spring boot

+0

Нет. Поскольку запросы SOAP являются в основном запросом «POST», который не позволяет отправлять данные запроса как часть URL-адреса. – Arpit

+0

@arpit Итак, мы можем отправить запрос на мыло только в формате XML с помощью инструмента SOAP UI, верно? – user6543599

+0

Да !, мыло позволяет отправлять только xml – Arpit

ответ

1

Хорошо, я не уверен, каковы ваши намерения, но и SOAP.

---------------      ---------------- 
|    | someMethodInvoke |    | 
| Your API | -------------------->| WEB Service | 
|    |<-------------------- |    | 
--------------- someResult  ---------------- 

Теперь посещать связи с WS вам нужно, во-первых, чтобы иметь схему этого API или .WSDL, из которого вы можете создать объекты, с которыми вы будете делать звонки вам нужно.

Я лично использую JAXB для генерации .java классов из схемы.

После того, как это вызвало само собой org.springframework.ws.client.core.WebServiceTemplate - это то, что выполняет свою работу. Вы можете использовать marshalSendAndReceive.

Например:

public class SomeService extends WebServiceGatewaySupport { 
    ObjectFactory oFactory = new ObjectFactory(); 

    public ExpectedResultObject someMethodInvoke(RequestObjectGeneratedFromSchema request){ 
      JAXBElement<ExpectedResultObject> response = (JAXBElement<ExpectedResultObject>) getWebServiceTemplate() 
       .marshalSendAndReceive("http://yourURL.com", oFactory.createreRequestObjectGeneratedFromSchemaInputMessage(request)); 
      return response.getValue(); 
    } 
} 

Во-первых расширить WebServiceGatewaySupport, так что вы можете вызвать getWebServiceTemplate(), которые возвращают именно то, что вам нужно: org.springframework.ws.client.core.WebServiceTemplate. Вот пример того, как вы можете использовать WebServiceTemplate

Конечно, существует множество факторов, таких как безопасность, подключение и т. Д., Которые, возможно, должны быть установлены. Но это зависит от WS. Но поясню, что это все:

  1. Генерация .java классов из WSDL (схемы)
  2. Заливка созданный объект с информацией
  3. Использование некоторых WebServiceTemplate для вызова пункта END

Надежда Я дал вам некоторые направления.

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