3

当使用 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

谢谢,如果我不够清楚或者您需要一些代码示例,请告诉我。

4

1 回答 1

0

客户端没有等效的解析器。解析器接口已准备好供某人编写类似的映射器。应该非常直接地保存故障代码与异常类的映射。

见 org.springframework.ws.client.core.FaultMessageResolver

这是由 SoapFaultMessageResolver 实现的,它只是将错误消息包装在您看到的 SoapFaultClientException 中。

于 2013-10-08T21:16:04.247 回答