Apache CXF 输出拦截器更改故障响应



我将如何处理 cxf out 拦截器中的 soap 错误,但将响应从错误更改为成功响应,我也使用 ws 寻址和 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>

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

所以我认为你必须添加一个InFaultInterceptor/OutFaultInterceptor,你可以在其中处理你的响应消息。

最新更新