У меня есть веб-служба, созданная и настроенная с помощью 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
.