У меня есть эта маленькая цепь компонентов в моем проекте Mule ESB:Mule ESB Groovy Unicode выходной вопрос
<set-payload value="Получена заявка ##[sessionVars['ticketID']]" doc:name="Set SMS Text"/>
<scripting:transformer doc:name="Send SMS" ignoreBadInput="true">
<scripting:script engine="Groovy"><![CDATA[
new File("/tmp/groovy.out").withWriter { out ->
out.println message.payload
}
]]></scripting:script>
</scripting:transformer>
Когда сообщение проходит эту цепочку в /tmp/groovy.out я могу видеть «Џолучена ЗАЯВКА # 4041» вместо ожидаемой «Получена заявка # 4041», т. е. возникает проблема с отображением символов unicode и проблем с символами ASCII нет.
Когда я проверяю /tmp/groovy.out с редактором HEX, я вижу, что все символы Russain имеют длину в 1 байт (в юникоде, длина которой должна быть 2 байта), то есть выход моего компонента Groovy не является unicode.
Нет проблем с выходом юникода в журнал Mule, когда пользовательские компоненты Echo и Logger. Также в компоненте SMTP все идеально: я успешно получаю письма в юникоде от Mule.
Вы можете помочь мне с выходом unicode в файл с Groovy в Mule ESB?
Это хорошо! Спасибо! –
@ НикитаПетров это сработало? :-) –
Да, спасибо! –