我正在使用Apache Camel开发POC,我必须通过CXF公开一个WS,进行一些验证和转换,然后调用另一个WS。我试图使用验证器,但似乎它只适用于xml模式…
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="cxf:bean:sdmoWSKweb" />
<to uri="log:input"/>
<bean ref="CartWSExtractProcessor"/>
<doTry>
<to uri="validator:/dtd/configurator.dtd"/>
<to uri="mock:valid"/>
<doCatch>
<exception>org.apache.camel.ValidationException</exception>
<to uri="mock:invalid"/>
</doCatch>
<doFinally>
<to uri="mock:finally"/>
</doFinally>
</doTry>
<to uri="xslt:messageCopyItem.xslt"/>
<setHeader headerName="operationName"><constant>copyItemMaster</constant></setHeader>
<to uri="cxf:bean:qadCopyWeb?defaultOperationName=copyItemMaster"/>
<to uri="log:Output"/>
</route>
我尝试用W3.org工具生成xsd版本的dtd,但结果无效。
Camel Validator只适用于XML/XSD或带有Jing组件的relax。
否则,您应该尝试另一个DTD->XSD转换工具,或者只是手动创建一个XSD版本…