我对mule xml配置文件有一点疑问,而我尝试使用logger和expression的简单mule应用程序。配置文件是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:core="http://www.mulesoft.org/schema/mule/core" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.4.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd">
<flow name="basic_tutorialFlow1" doc:name="basic_tutorialFlow1">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8084" doc:name="HTTP"/>
<expression-filter expression="#[message.payload != '/favicon.ico']" doc:name="Expression"></expression-filter>
<logger level="INFO" doc:name="Logger" message="Current payload is #[message.payload]"/>
<set-payload doc:name="Set Payload" value="#['Hello, ' + message.payload + '. Today is ' + server.dateTime.format('dd/MM/yy') + '.' ]"/>
</flow>
我在表达式过滤器和记录器上有错误。错误显示如下: cvc-complex-type.2.4.a:从元素&#39;表达式过滤器开始发现无效内容&#39;
该程序可以运行,但是当项目仍有错误时我感觉不对。我想知道如何解决这个问题。
我检查了http://www.mulesoft.org/schema/mule/,但没有看到表达式过滤器或记录器。
我的编辑器是STS 3.4.0,mule版本是3.4,谢谢。
答案 0 :(得分:0)
我建议您更改架构位置以命名您的显式版本,例如
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/3.4/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/3.4/mule-http.xsd"
以及xmlns
语句,同样如此。我已经在mule 3.2.x中遇到过这种情况,其中某些XML属性在Mule IDE中无法解决,尽管它们编译得很好。从“当前”更改为我的特定版本通常会纠正这些分辨率错误(尽管并非总是如此)。
一般来说,如果编译和执行成功,忽略这些解决方案失败通常是安全的,但我同意你的一般断言,即这不是一种好的感觉。尝试明确你的模式定义,因为我搜索了核心mule.xsd,并且在该文件中正确定义了logger和expression-filter,这样就可以解决你的分辨率错误。