我看到了一堆解释,甚至在这个网站上,关于上面的错误…但这两点没人弄清楚:
- 为什么出现这个错误?
- 我怎么才能准确地纠正它?我必须在Camel/Spring启动项目中更改哪些内容才能使其正常工作(哪些文件,哪些配置,哪些xsd导入?我必须换POM吗?在哪里?等)
Apache Camel元模型已被修改。您需要调整模型,或者指向与模型版本匹配的xsd版本。
,如果您是从一个2。X到3。X版本,参见https://camel.apache.org/manual/camel-3-migration-guide.html#_setheader_and_setproperty_in_xml_dsl
迁移<setHeader headerName="foo"><simple>Hello ${body}</simple></setHeader>
<setHeader name="foo"><simple>Hello ${body}</simple></setHeader>
为了适应xsd的正确版本,您需要更改xsi:schemaLocation并指向一个特定的版本,而不是"通用版本"。所以将https://camel.apache.org/schema/spring/camel-spring.xsd替换为https://camel.apache.org/schema/spring/camel-spring-2.25.4.xsd或https://camel.apache.org/schema/spring/camel-spring-3.17.0.xsd
该错误意味着您正在根据模式验证文档,而该文档对模式无效;具体来说,它在一个名为headerName
的元素上有一个名为setHeader
的属性,而模式不允许该属性。
要纠正它,请删除该属性。
从您的问题来看,好像您不确定要验证的XML文档是什么,以及在哪里可以找到它。恐怕这件事我帮不了你。