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