Как преобразовать SoapFault в SoapMessage через перехватчик в CXF?

У меня есть веб-служба, созданная и настроенная с помощью Spring и CXF . См. Beans ниже:

<?xml version="1.0" encoding="UTF-8"?>
<beans <!-- ommited -->>
    <import resource="classpath:META-INF/cxf/cxf.xml" />
    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

    <bean id="internalActService" class="package.InternalActServiceImpl" />

    <jaxws:endpoint implementor="#internalActService" address="/InternalActService">
        <jaxws:properties>
            <entry key="schema-validation-enabled" value="true" />
        </jaxws:properties>

        <jaxws:outFaultInterceptors>
            <bean class="package.InternalActServiceFaultOutInterceptor" />
        </jaxws:outFaultInterceptors>
    </jaxws:endpoint>
</beans>

Как вы видите, я добавил проверку схемы в свою веб-службу. Но CXF выдает SoapFault , когда запрос не соответствует схеме. Я хочу отправить клиенту SoapMessage вместо SoapFault , поэтому Я добавил outFaultInterceptors .

Мой вопрос: как преобразовать SoapFaul t в SoapMessage ? Я сделал несколько попыток, но не знаю, как это сделать реализовать outFaultInterceptor .

6
задан Michał Mech 9 November 2011 в 14:35
поделиться