通过ValidationEventHandler记录SOAP消息

时间:2014-02-20 09:03:13

标签: cxf

这是事情: 我试图通过cxf与自定义验证事件处理程序建立架构验证。 我的配置如下所示:

<cxf:cxfEndpoint id="personEndpoint" address="/person"
    serviceClass="org.apache.servicemix.samples.wsdl_first.Person"
    wsdlURL="wsdl/person.wsdl">
    <cxf:properties>
        <entry key="schema-validation-enabled" value="true" />
        <entry key="jaxb-validation-event-handler">
            <bean class="org.dpytel.servicemix.camel.MyCustomHandler" />
        </entry>
    </cxf:properties>
</cxf:cxfEndpoint>

这很好用 - 检查架构验证,遇到错误时,“MyCustomHandler”会被执行。 我的问题是我想将导致验证错误的整个消息保存到文件中,但在“MyCustomHandler”中我没有这些信息可用(只有一些错误消息和位置)

是否有其他方法可以使用cxf验证架构并在出现问题时记录消息?

1 个答案:

答案 0 :(得分:1)

您可以使用CXF Fault Interceptor访问消息内容,而验证异常将导致错误:

http://fusesource.com/docs/esb/4.4.1/cxf_interceptors/CXFInterceptorImplMessage.html