【问题标题】:camel cxf client soap fault handling骆驼cxf客户端soap故障处理
【发布时间】:2013-08-14 15:09:07
【问题描述】:

我正在使用 camel 和 cxf 组件从 Web 服务获取一些数据。在某些情况下,Web 服务会返回标准的 soap:fault。 我有接下来的步骤:

<camel:route id="someId">
    <camel:onException useOriginalMessage="false">
            <camel:exception>java.lang.Exception</camel:exception>
            <camel:handled>
                <camel:constant>false</camel:constant>
            </camel:handled>
            <camel:process ref="defaultNaoIntegrationErrorHandler" />
            <camel:to uri="ref:naointegration.checkAvailability.jms.error.queue" />
    </camel:onException>
    <camel:from uri="direct:naoCheckAvailabilityOut" />
    <camel:marshal ref="soapjaxbSAP" />
    <camel:to id="naoCheckAvailabilityEndpoint" uri="cxf:bean:naoCheckAvailabilityEndpoint" />
    <camel:unmarshal ref="soapjaxbSAP" />
</camel:route>

naoCheckAvailabilityEndpoint 在哪里:

<cxf:cxfEndpoint id="naoCheckAvailabilityEndpoint"
        address="${naointegration.I011.CheckAvailability.soap.address}"
        endpointName="s:checkAvailabilityEndpoint" serviceName="s:SOAPService"
        xmlns:s="http://www.example.com/test">
        <cxf:properties>
            <entry key="dataFormat" value="MESSAGE" />
            <entry key="setDefaultBus" value="true" />
        </cxf:properties>
        <cxf:outInterceptors>
            <ref bean="logOutbound" />
        </cxf:outInterceptors>

        <cxf:inFaultInterceptors>
            <ref bean="logOutbound" />
        </cxf:inFaultInterceptors>
    </cxf:cxfEndpoint>

如果我收到正常的肥皂信息,一切正常。当我得到soap foalt / http 500时,我只有字符串消息,其中包含带有soap错误的soap消息(xml)。

在类似问题上阅读 cxf 和 camel 邮件列表我理解 cxf 端点应该抛出异常,如果有肥皂泡沫,类型为 org.apache.cxf.binding.soap.SoapFault 的异常,但我无法得到它。 目标是 onException 子句对soap错误异常进行处理。

有什么建议吗?

【问题讨论】:

    标签: java soap cxf apache-camel


    【解决方案1】:

    您使用的是MESSAGE数据格式,这意味着camel-cxf端点只是从传输中传递流,它不会读取底层消息,因此camel-cxf端点无法分辨哪个消息是普通soap消息或肥皂故障消息。

    如果想让骆驼路线处理soap故障,需要使用PAYLOAD或POJO数据格式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多