这可能是一个简单的错误配置问题,但我的xml文档拾取我的标记时遇到问题。我收到了错误
“此行找到多个注释: - cvc-complex-type.2.4.c:匹配的通配符是strict,但是没有为元素'camelContext'找到声明。 - 无法找到模式名称空间“http://activemq.apache.org/camel/”的元素“camelContext”的Spring NamespaceHandler
但是当我添加命名空间时,我收到以下错误:
此行找到多个注释: - cvc-complex-type.2.4.c:匹配的通配符是strict,但是没有为元素'camelContext'找到声明。 - schema_reference.4:无法读取架构文档“http://activemq.apache.org/camel/schema/spring/camel-spring.xsd”,因为1)无法读取 找到文件; 2)文件无法阅读; 3)文档的根元素不是。 - 无法找到模式名称空间“http://activemq.apache.org/camel/schema/spring”的元素“camelContext”的Spring NamespaceHandler
任何人都可以帮我弄清楚为什么我会遇到这两个问题?我不是xml或骆驼的专家,所以任何帮助将不胜感激。 下面是我的简单xml文档:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<bean id="myrouter" class="org.apache.camel.example.reportincident.ReportIncidentRoutes"/>
<!-- Camel Configuration -->
<camelContext id="camel" xmlns="http://activemq.apache.org/camel/schema/spring">
<routeBuilderRef ref="myrouter"/>
</camelContext>
</beans>
答案 0 :(得分:7)
在Camel 1.x中,XML的名称空间是以activemq开头的名称空间,例如
xmlns="http://activemq.apache.org/camel/schema/spring"
在Camel 2.x中,XML的名称空间是纯Camel,例如
http://camel.apache.org/schema/spring
由于Camel 1.x是EOL,我假设你使用的是Camel 2.x.如果是这样,你需要改变&lt;中的名称空间。 camelContext&gt;标记为2.x样式。并删除XML文件顶部的旧引用。
答案 1 :(得分:-1)
谢谢!我有旧版JBoss Fuse 6.2.1,我的路线工作正常。但是在JBoss Fuse 6.2.1中我得到了 XML没有接收&lt; camelContext&gt;标签即可。我将http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd添加到xsi:schemaLocation之后就可以了!