簡體   English   中英

使用Spring Boot的SOAP和Rest Web服務

[英]SOAP and Rest Webservice using Spring boot

我正在開發我的第一個包含Soap和rest webservice Spring Boot應用程序。 我必須在網址中傳遞Request作為參數。 我可以在URL中傳遞針對Rest服務的請求。 是否可以在URL中發送針對SOAP webservice請求?

好的,我不確定您的意圖是什么,但是關於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. 從WSDL(schema)生成.java類
  2. 用信息填充生成的對象
  3. 使用一些WebServiceTemplate調用END點

希望我給你一些指示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM