使用onException在camel中使用Rethrow CXF异常

时间:2013-02-19 12:01:21

标签: cxf apache-camel

我正在尝试捕获并重新格式化(隐藏信息)在cxf webservice调用中抛出的camel中的异常。 ThrowException ......那我应该扔什么。

这不起作用,因为转换不起作用(当然)。什么是最好的方法?

          

 <camel:onException>
    <camel:exception>org.apache.cxf.binding.soap.SoapFault</camel:exception>
    <camel:redeliveryPolicy maximumRedeliveries="2" delay="5000"/>
    <camel:handled>
            <camel:constant>true</camel:constant>
    </camel:handled>
    <camel:transform>
      <camel:simple>Cannot process this message. Retry later. </camel:simple>
    </camel:transform>
 </camel:onException>

<camel:route trace="false" id="LEFIIncoming">
    <camel:from uri="cxf:bean:PostSpecIn" />
    <camel:to uri="cxf:bean:PostSpecOut" />
</camel:route>

1 个答案:

答案 0 :(得分:1)

您需要将响应消息转换为CXF Web服务期望/支持的响应类型。所以从“cxf:bean:PostSpecIn”查看WSDL,并返回SOAP Fault作为响应,或者out消息支持的一些响应类型。