Apache Camel Validate with DTD



我正在使用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版本…

最新更新