【问题标题】:spring integration 2 soap calls databasespring integration 2soap调用数据库
【发布时间】:2017-03-08 03:51:34
【问题描述】:

我是 Spring 集成和学习过程中的新手。 我将不得不进行两次 SOAP 调用。 第一次 SOAP 调用 ---> 使用第一次调用响应作为第二次 SOAP 请求。 并以编程方式从数据库中获取 url 和其他请求参数。

我可以使用此配置成功拨打电话

<int-ws:outbound-gateway id="Service" request-channel="requestChannel" reply-channel="responseChannel" uri="http://localhost:8080/core/v1" marshaller="marshaller" unmarshaller="marshaller"/>

我没有使用任何激活器或拦截器。只是使用了xml和网关接口。我已经硬编码了请求值。 有人可以帮助我如何从数据库中获取值并以更好的方式构建它。

【问题讨论】:

    标签: java spring web-services soap spring-integration


    【解决方案1】:

    使用 JDBC Outbound Gateway 检索数据并将其传递到 WS Outbound Gateway。

    你可以找到一些关于此事的样本:https://github.com/spring-projects/spring-integration-samples/tree/master/basic/jdbc

    【讨论】:

    • 感谢 Artem 的快速回复。对于我的第二部分问题,我应该如何将第一个调用的响应作为请求传递给第二个 SOAP 调用。第一次调用的响应是一个列表,我必须遍历列表并调用第二个 SOAP 调用。
    • 你可以使用 splitter 来迭代和使用transformer 来构建一个新的请求
    • 您好 Artem,我正在尝试实施更改,但在如何传递 JDBC 出站网关响应以将其传递到 WS 出站网关方面存在问题。你能举个例子吗
    • 不确定您对我的期望,但 SOAP 是基于 XML 的,因此您必须根据 JDBC 调用的结果构建一个,并将其传递给 WS Outbound Gateway。一些 WS 示例在这里:github.com/spring-projects/spring-integration-samples/tree/…
    猜你喜欢
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-13
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    • 2019-08-04
    相关资源
    最近更新 更多