2014-12-16 7 views
1

Как я мог бы обработать ошибку мыла в перехватчике cxf out, но изменяя ответ от ошибки на реакцию успеха, я также использую ws-адресацию и WSS4J как часть ответа.Apache CXF Out Ошибка смены перехватчика Ответ

Я изо всех сил, чтобы вернуть

<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

документации (http://cxf.apache.org/docs/interceptors.html) говорит: Кроме того, в случае SOAPFaults, веб-сервис CXF создаст отдельную цепочку обработки исходящих ошибок, и клиент создаст цепочку обработки входящих ошибок.

Так что, я думаю, вам нужно добавить InFaultInterceptor/OutFaultInterceptor, где вы можете обрабатывать свое ответное сообщение.

+0

Я добавил OutFaultInterceptor, где я поймаю ошибку, но я хочу удалить ошибку мыла и вставить ответ об успешном ответе, вопрос в том, как изменить ответ сообщения, не теряя заголовок ws-addressiing и ws-security! – tosi

+0

Хорошо, я думаю, что вы правы с функцией преобразования, где вы можете изменить ответ на мыло: http://cxf.apache.org/docs/transformationfeature.html – soilworker

Смежные вопросы