在SpringWS中,如何处理SaaJSOApenDevelopeeException并在异常后获取SOAP副本?

在SpringWS中,如何处理SaaJSOApenDevelopeeException并在异常后获取SOAP副本?,soap,spring-ws,fault,Soap,Spring Ws,Fault,这就是“在之后并且只有在之后”异常,因为我被告知要提前处理它,这是我们不希望的性能损失,因为这将是针对每个调用的,而不仅仅是针对一个异常。当然是有道理的,但我确实不知道在出现异常后如何处理 用例是这样的:一些家伙,也许是坏人,给我们发送了一些坏的SOAP,调度器抛出了一个SaaJSOApenDevelopeeException。我如何优雅地处理这件事 到目前为止,我拥有的是MessageDispatcherServlet的一个扩展,它覆盖了doService()方法。web.xml文件已经更新,

这就是“在之后并且只有在之后”异常,因为我被告知要提前处理它,这是我们不希望的性能损失,因为这将是针对每个调用的,而不仅仅是针对一个异常。当然是有道理的,但我确实不知道在出现异常后如何处理

用例是这样的:一些家伙,也许是坏人,给我们发送了一些坏的SOAP,调度器抛出了一个SaaJSOApenDevelopeeException。我如何优雅地处理这件事

到目前为止,我拥有的是MessageDispatcherServlet的一个扩展,它覆盖了doService()方法。web.xml文件已经更新,以显示Spring配置的调度程序。在这个覆盖中,用try/catch来包围对super方法的调用,然后捕获异常,但这里的问题是HttpServletRequest的流已经关闭,因此您无法从这里获取SOAP,AFIK

另一个问题是我找不到一个接线员在这里接线。我想使用WSDL生成Java错误,但我认为在非端点类中连接封送拆收器存在问题。也许是关于名称空间的?我可能需要了解一下这些是如何工作的

Bottum line:是否有可能在异常发生后获取SOAP,或者是否有可能预测将出现异常,以便我可以提前获取它?另外,我如何将故障封送器放入该调度程序,或者我必须备份故障的文本版本

我对Web服务相当陌生,到目前为止,我所知道的主要是CXF。到目前为止,我对SpringWS的印象不太好。他们还有很长的路要走。由于WSDL中的XSD引用存在一个已知错误,无法从服务中获取WSDL,这一事实尤其令人恼火。

您是否尝试了一个新的方法? 例如,我使用了一个来捕获和转换身份验证异常

您可能还需要一个包来包装异常解析器