Spring integration 无法从错误消息解析程序引发CustomException

Spring integration 无法从错误消息解析程序引发CustomException,spring-integration,spring-ws,Spring Integration,Spring Ws,我在Spring集成网关流中使用两个webservice出站网关调用两个不同的web服务。 我已经在每个网关中实现了2个故障解析器来解决SOAP故障 并希望创建自定义应用程序异常,并将其从解析器抛出到我的异常处理程序 每当我们从服务调用接收到SOAP错误时,就会调用我的FaultResolver。 但我无法从解析程序中抛出自定义异常,因为它只允许我抛出IOException 由于这个原因,我正在抛出一个运行时异常,其中包含来自解析器的消息,并在异常处理程序中捕获这个运行时异常。 抛出运行时异常并

我在Spring集成网关流中使用两个webservice出站网关调用两个不同的web服务。 我已经在每个网关中实现了2个故障解析器来解决SOAP故障 并希望创建自定义应用程序异常,并将其从解析器抛出到我的异常处理程序

每当我们从服务调用接收到SOAP错误时,就会调用我的FaultResolver。 但我无法从解析程序中抛出自定义异常,因为它只允许我抛出IOException

由于这个原因,我正在抛出一个运行时异常,其中包含来自解析器的消息,并在异常处理程序中捕获这个运行时异常。
抛出运行时异常并捕获处理程序是正确的做法,还是有其他更好的方法来处理此场景或任何其他实现来处理SOAP错误并抛出自定义异常。

确定解决方案是否良好的最佳方法,只是试着找到一些现成的实现。其中之一是:

public class SimpleFaultMessageResolver implements FaultMessageResolver {

    public void resolveFault(WebServiceMessage message) {
        if (message instanceof FaultAwareWebServiceMessage) {
            throw new WebServiceFaultException((FaultAwareWebServiceMessage) message);
        }
        else {
            throw new WebServiceFaultException("Message has unknown fault: " + message);
        }
    }
}
其中
WebServiceFaultException
正好是
RuntimeException


因此,我认为您可以继续进行。

是的,谢谢您提供的信息@Artem让我开始实施