当使用Spring-WS作为SOAP客户端时,我很难将传入的错误转换为它们特定的Java异常。
例如,如果我调用的web服务操作可以返回一个ClientNotFoundFault,比如说一个InvalidAmountFault,我能让Spring-WS抛出ClientNotFoundException或InvalidAmountException吗?
Spring-WS可以抛出与SoapFaultClientException不同的东西吗?
当我自己编写web服务时,我可以用另一种方式来做这件事。在那里,使用SoapFaultMappingExceptionResolver,我可以很容易地将异常转换为等价的错误。我只是在写客户端的时候找不到任何关于这样做的东西...
我在JDK 1.7.6中使用Spring-WS 2.1.0.RELEASE
谢谢,让我知道,如果我不够清楚,或者如果你需要一些代码示例。
发布于 2013-10-09 05:16:04
在客户端没有等效的解析器。解析器接口已经准备就绪,人们可以编写类似的映射器。应该非常直截了当地保存故障代码与异常类的映射。
请参阅org.springframework.ws.client.core.FaultMessageResolver
这是目前由SoapFaultMessageResolver实现的,它只是将故障消息包装在您所看到的SoapFaultClientException中。
https://stackoverflow.com/questions/12319323
复制相似问题