从春天返回肥皂故障

时间:2014-06-19 12:41:16

标签: web-services soap spring-ws

我正在寻找一些方法来响应SOAP请求的SOAP故障。

现在我只能在通过AbstractEndpointExceptionResolver抛出异常时创建一个错误。

我查看了EndpointInterceptorAdapter,但我不确定如何检查或修改响应。例如,如果端点返回ValidResponse但是在响应的列表中没有找到或返回值,我想用SoapFault来响应用户请求。

我们努力遵循"不要使用流量控制的例外"但是我从拦截器或端点创建SoapFault而没有抛出异常就没有成功。

1 个答案:

答案 0 :(得分:2)

好吧,我认为AbstractValidatingInterceptor来救援。至少从源代码部分:如何处理interceptor的响应以及如何处理WebServiceMessage response

请注意,WebServiceMessage可以投放到SoapMessage,您可以使用SoapFault填充自定义SoapBody

SoapBody soapBody = ((SoapMessage) messageContext.getResponse()).getSoapBody();