Mule-DataWeave inline中文问题
最近在使用MULE时候碰到一个问题, 使用Transform Message 控件 进行数据转换时候,某个字段为中文常量,直接使用出现了问题。配置如下。
如下面配置: "className": "板材" 为中文。
<dw:transform-message doc:name="Transform Message">
<dw:set-payload><![CDATA[
%dw 1.0
%input payload application/json
%output application/json encoding="GBK"
---
{
"collectionSize":payload.collectionSize,
"totalQuantity":payload.totalQuantity,
"totalWeight":payload.totalWeight,
"className": "板材"
}]]></dw:set-payload>
</dw:transform-message>
mule xml提示出错。
错误提示如下:
Error in DW script: Invalid input """, expected flatten, typeOf, using, unzip, capitalize, avg, min, lower,
upper, max, singularize, not, dasherize, ordinalize, camelize, trim, sizeOf, value, pluralize, sum or
underscore
解决方法:
修改为如图所示。默认 source Code 是Inline的。改为使用File。
指定文件名。
dw的代码就会写入文件。二不是直接写到mule xml的文件里面了。
修改后的配置如下:
<dw:transform-message doc:name="Transform Message">
<dw:set-payload resource="classpath:a.dw.dwl"></dw:set-payload>
</dw:transform-message>
在指定的dw文件中写入中文。流程就不会出错了。