Apache CXF Out Interceptor更改故障响应

时间:2014-12-16 14:14:24

标签: cxf interceptor

我如何能够处理cxf out拦截器中的soap故障,但是将响应从故障更改为成功响应,我也使用ws-addressing和WSS4J作为响应的一部分。

我正在努力回归

    <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
       ws-address- ws-security
<soap:Body>
          <Response>
            Ok!
          </Response>
       </soap:Body>
    </soap:Envelope>

而我现在正在

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
   <soap:Body>
      <soap:Fault>
         <soap:Code>
            <soap:Value>soap:Receiver</soap:Value>
         </soap:Code>
         <soap:Reason>
            <soap:Text xml:lang="en">Fault occurred while processing.</soap:Text>
         </soap:Reason>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>

1 个答案:

答案 0 :(得分:1)

文档(http://cxf.apache.org/docs/interceptors.html)说: 此外,对于SOAPFaults,CXF Web服务将创建单独的出站错误处理链,客户端将创建入站错误处理链。

所以我认为你必须添加一个InFaultInterceptor / OutFaultInterceptor来处理你的响应消息。