当使用Spring-WS作为SOAP客户端时,我很难将传入的错误转换为特定的Java Exceptions。
例如,如果我正在调用的Web服务操作可以返回ClientNotFoundFault并且假设是InvalidAmountFault,那么我可以使Spring-WS抛出ClientNotFoundException或InvalidAmountException吗?
Spring-WS可以抛出与SoapFaultClientException不同的东西吗?
在我自己编写Web服务时,我可以反过来这样做。在那里,使用SoapFaultMappingExceptionResolver,我可以轻松地将异常转换为它们的等效错误。在写客户端时,我找不到任何关于这样做的事情......
我正在使用Spring-WS 2.1.0.RELEASE和JDK 1.7.6
谢谢,如果我不够清楚,或者您需要一些代码示例,请告诉我。
答案 0 :(得分:0)
客户端没有等效的解析器。解析器界面已准备好让某人编写类似的映射器。应该非常直接地保存故障代码与异常类的映射。
请参阅org.springframework.ws.client.core.FaultMessageResolver
这是由SoapFaultMessageResolver实现的,它只是将故障消息包装在您看到的SoapFaultClientException中。