Mule配置架构没有记录器

时间:2014-02-27 04:52:38

标签: mule

我对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,谢谢。

1 个答案:

答案 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,这样就可以解决你的分辨率错误。