gpt4 book ai didi

java - 使用 Spring boot 的 SOAP 和 Rest Web 服务

转载 作者:行者123 更新时间:2023-12-02 03:09:54 24 4
gpt4 key购买 nike

我正在开发我的第一个 Spring Boot 应用程序,其中包含 Soap 和其余 webservice。我必须将 url 中的请求作为参数传递。我可以在 URL 中传递 Rest 服务的请求。是否可以在 SOAP webservice 的 URL 中发送请求?

最佳答案

好吧,除了 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(架构)生成 .java 类
  2. 用信息填充生成的对象
  3. 使用一些WebServiceTemplate来调用END点

希望我能给你一些指导。

关于java - 使用 Spring boot 的 SOAP 和 Rest Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41205488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com