我启动Mule嵌入到WAR文件中的XML验证错误

时间:2015-02-20 21:09:25

标签: eclipse mule

我有嵌入其中的Web应用程序Mule 2.2.1)我正在使用eclipse开普勒。 当我打开mule配置文件时,我在eclipse中没有验证错误。然而,当我尝试使用WTP在eclipse中启动我的Web应用程序时,我得到了xml验证错误

这是导致我出问题的片段......

<service name="someServiceName">
<inbound>
      <vm:inbound-endpoint path="xyz.cache"/>
           <quartz:inbound-endpoint jobName="getXXX" cronExpression="">
       <transformers>
           <bean-builder-transformer beanClass="com.xyz.MyBean">
                            <bean-property property-name="messageId" expression="message.id" evaluator="mule"/>
           </bean-builder-transformer>
       </transformers>
    <quartz:event-generator-job />
 </quartz:inbound-endpoint>
</inbound>.....
 </service>

错误的简短版本是:

org.xml.sax.SAXParseException: cvc-complex-type.3.2.2: Attribute 'property-name' is not allowed to appear in element 'bean-property'. 

如果我将property-name更改为name。我能够启动我的WAR文件,但是当我打开我的mule配置文件时,eclipse开始给出验证错误。

我认为这是解析器问题,但是使用MAVEN我不确定应该排除或包含哪个特定的jar。如果您有心情帮忙,我可以提供完整的错误..

感谢您的帮助。 鲍里斯

1 个答案:

答案 0 :(得分:0)

属性名称is确实属性名称。然而,在past它只是被称为名字时,它总是像那样。

更改是必要的,因为如果多个bean-builder-transformers使用具有相同属性名称的bean,则会出现spring注册表冲突,因为name属性具有spring内涵。

2.2.7中的更改happened。鉴于你在2.2.1中,我的猜测是你有多个使用相同名称的bean属性(在不同的bean-builder-transformers中)。

我建议你升级到2.2.7或更高版本。