【问题标题】:Spring integration - SimpleWsOutboundGateway error handling (SOAP WS)Spring 集成 - SimpleWsOutboundGateway 错误处理(SOAP WS)
【发布时间】:2020-10-07 20:13:56
【问题描述】:

我有一个 spring 集成流程,我在其中监听通道并调用 SOAP WS 并将来自 WS 的响应放回传出通道

 return IntegrationFlows.from(CHANNEL)
            .<byte[], String>transform(String::new)
            .handle(
                    Ws.simpleOutboundGateway(template)
                        .uri(webServiceUrl )
            )

            .<String, byte[]>transform(String::getBytes)
            . // send out the output topic
            .get();

@Bean
public WebServiceTemplate webServiceTemplate() {
    WebServiceTemplate template = new WebServiceTemplate();
    return template;
}

我将此流程用作集成测试的一部分,效果很好。

问题: 如果我在 SOAP WS 不可用的情况下运行测试,我会得到以下结果

原因:org.springframework.ws.client.WebServiceIOException:I/O错误:连接被拒绝:连接;嵌套异常是 java.net.ConnectException: Connection denied: connect 在 org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:561) ~[spring-ws-core-3.0.10.RELEASE.jar:na] 在 org.springframework.integration.ws.SimpleWebServiceOutboundGateway.doHandle(SimpleWebServiceOutboundGateway.java:120) ~[spring-integration-ws-5.3.2.RELEASE.jar:5.3.2.RELEASE] 在 org.springframework.integration.ws.AbstractWebServiceOutboundGateway.handleRequestMessage(AbstractWebServiceOutboundGateway.java:224) ~[spring-integration-ws-5.3.2.RELEASE.jar:5.3.2.RELEASE] 在 org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal

我如何在这个流程中捕获这些错误/错误,以及在soap base WS 响应中处理错误的最佳实践是什么 EX:服务不可用 SOAP 请求/响应错误 分机

【问题讨论】:

    标签: spring-integration-dsl spring-integration-ws


    【解决方案1】:

    一般看CHANNEL的上游是什么;您可以将错误通道添加到启动流程的任何地方,或者您可以将ExpressionEvaluatingRequestHandlerAdvice 添加到网关。 Docs here.

    【讨论】:

    • 感谢 Gary,在这种情况下,CHANNEL 是一个 kafka 主题。我要做的是捕获“WebServiceIOException:I/O 错误:连接被拒绝”异常并用它构造响应消息并将其放回传出的 kafka 主题。不胜感激,如果你能指出我上面提到的一个例子。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-24
    • 2018-07-05
    • 2015-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多