web-services - Spring-WS:将 SOAP 错误转换为特定异常

标签 web-services spring-ws

当使用 Spring-WS 作为 SOAP 客户端时,我很难将传入的错误转换为它们特定的 Java 异常。

例如,如果我调用的 Web 服务操作可以返回一个 ClientNotFoundFault,比方说,一个 InvalidAmountFault,我可以让 Spring-WS 抛出 ClientNotFoundException 或 InvalidAmountException 吗?

Spring-WS 可以抛出不同于 SoapFaultClientException 的东西吗?

我可以在自己编写 Web 服务时以相反的方式执行此操作。在那里,使用 SoapFaultMappingExceptionResolver,我可以轻松地将异常转换为它们的等效错误。在编写客户端时,我找不到任何关于这样做的信息......

我正在使用 Spring-WS 2.1.0.RELEASE 和 JDK 1.7.6

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

最佳答案

客户端没有等效的解析器。解析器接口(interface)已经准备好供某人编写类似的映射器。持有故障代码与异常类的映射应该非常简单。

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

目前由 SoapFaultMessageResolver 实现,它只是将故障消息包装在您看到的 SoapFaultClientException 中。

关于web-services - Spring-WS:将 SOAP 错误转换为特定异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12319323/

相关文章:

java - 需要帮助破译一个小堆栈跟踪 : which kind of WS am I using?

java - 在另一个maven项目中使用JAXB2生成java类

web-services - 为什么我们在 SOAP 中没有 GET 调用?

c# - WebReference 生成的命名空间

iphone - 如何将数据从 web 服务填充到 UIPickerView? [iOS应用程序开发]

java - 使用带注释的端点时,spring ws 找不到适配器

java - Spring Ws中如何与银行等第三方收发证书?

c# - 如何为具有共享类型的多个 WCF 服务生成客户端代码

asp.net - 如何在 REST web 服务中编写具有多个参数的方法

java - Spring集成和SOAP 1.2 : setting SOAPAction