微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

spring集成中如何调用SOA Webservice操作方法

如何解决spring集成中如何调用SOA Webservice操作方法

遗憾的是,关于如何调用 SOAP 网络服务的示例并不多。文档中的示例非常模糊,尤其是对于新学习者。

这是场景。 我有一个有很多操作的网络服务。 在 xml 配置中,我有一个转换器,它从消息的有效负载提取信息并将数据存储在 POJO 中。目前,转换器正在使用来自 POJO 的数据构建肥皂请求。最后,转换器返回并在 requestChannel 中放置一条消息,该消息只是作为字符串的soap请求。

我正在调用 web 服务,就像文档中的示例一样;像这样的东西。

<int-ws:outbound-gateway id="invokeService"
                 request-channel="requestChannel"
                 reply-channel="responseChannel"
                 uri="http://[host]:[port]/app/service" />

我收到此错误SoapFaultClientException:未知方法

我想知道如何调用将 POJO 数据传递给soap 请求的soap web 服务操作。 Web 服务操作(或方法)具有字符串参数。

也在寻找关于 Spring 集成的好的教程或书籍。

提前致谢。

解决方法

Spring Integration WebServices 支持只不过是 Spring WS 之上的消息通道适配器实现。因此,如果您对如何构建和接收 SOAP 消息有疑问,请咨询该项目:https://docs.spring.io/spring-ws/docs/current/reference/html/。您可能需要提供 SOAP 操作标头:https://docs.spring.io/spring-integration/docs/current/reference/html/ws.html#ws-message-headers

另见相应示例:https://github.com/spring-projects/spring-integration-samples/tree/main/basic/ws-outbound-gateway

对于现有的 POJO,您可以考虑使用 Marshaller 方法。 JAXB 是一个很好的基于 WSDL 的注释和生成。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。