XML 使用 Camel 中的 Apache Validator 组件进行验证
XML validation with Apache Validator Component in Camel
我是 Camel 的新手,我正在使用 uri:validator 来针对 .XSD 文件验证 XML。但是,我不确定我是否确实正确地指向了 .xsd 文件,因为我的 gradle 构建失败并出现以下错误:
Caused by: java.io.FileNotFoundException: mydirectory\anotherDirectory\myxsdFile-v1.0.xsd (The system cannot find the path specified)
在我的常用 routes.xml 文件中,我有以下内容:
<route>
<from uri="direct:util-xmltojson"/>
<log loggingLevel="INFO" message="XML Validation"/>
<doTry>
<to uri="validator:file:mydirectory\anotherDirectory\myxsdFile-v1.0.xsd"/>
<doCatch>
<exception>org.apache.camel.ValidationException</exception>
</doCatch>
</doTry>
</route>
这是使用验证器组件的正确方法吗?
感谢您的帮助,
我。
validator
组件在 uri 中获取用于验证的 xsd 文件的位置。
这可以是:
- 一个文件,
validator:file:_path_
。此路径是相对于您的应用程序执行的文件夹
- A 类路径资源(在我看来,这是首选方式):
com/test/package/resource.xsd
:将在 com/test/package
下的 jar 中查找架构
- 远程资源,
validator:http://remotehost/path
: camel 将下载资源以验证 xml
在您的示例中,camel 正在寻找它未找到的文件 mydirectory\anotherDirectory\myxsdFile-v1.0.xsd
。检查此文件是否存在,相对于您的应用程序的执行文件夹。如果这个资源是静态的,你应该把它放在你的 jar 中,并使用类路径查找。
我是 Camel 的新手,我正在使用 uri:validator 来针对 .XSD 文件验证 XML。但是,我不确定我是否确实正确地指向了 .xsd 文件,因为我的 gradle 构建失败并出现以下错误:
Caused by: java.io.FileNotFoundException: mydirectory\anotherDirectory\myxsdFile-v1.0.xsd (The system cannot find the path specified)
在我的常用 routes.xml 文件中,我有以下内容:
<route>
<from uri="direct:util-xmltojson"/>
<log loggingLevel="INFO" message="XML Validation"/>
<doTry>
<to uri="validator:file:mydirectory\anotherDirectory\myxsdFile-v1.0.xsd"/>
<doCatch>
<exception>org.apache.camel.ValidationException</exception>
</doCatch>
</doTry>
</route>
这是使用验证器组件的正确方法吗?
感谢您的帮助,
我。
validator
组件在 uri 中获取用于验证的 xsd 文件的位置。
这可以是:
- 一个文件,
validator:file:_path_
。此路径是相对于您的应用程序执行的文件夹 - A 类路径资源(在我看来,这是首选方式):
com/test/package/resource.xsd
:将在com/test/package
下的 jar 中查找架构
- 远程资源,
validator:http://remotehost/path
: camel 将下载资源以验证 xml
在您的示例中,camel 正在寻找它未找到的文件 mydirectory\anotherDirectory\myxsdFile-v1.0.xsd
。检查此文件是否存在,相对于您的应用程序的执行文件夹。如果这个资源是静态的,你应该把它放在你的 jar 中,并使用类路径查找。