我正在开发包含Soap和rest Spring Boot
的第一个webservice
应用程序。我将url中的Request作为参数传递。我能够在URL中传递Rest服务请求。是否可以在SOAP
webservice
的网址中发送请求?
答案 0 :(得分:2)
好的我不确定你的意图是什么,而是关于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。但基本上就是这样:
希望我给你一些指示。