使用表达式设置Mule邮件主题时触发异常求助
问题解决:Mule邮件主题表达式报错
No read or write handler for DataGenerated 错误原因
邮件主题字段要求传入字符串类型,但当前DataWeave表达式返回的是JSON对象,Weave尝试将该对象转换为字符串时,无法找到对应字段的读写处理器,触发异常。
修正方案
方案1:直接拼接目标格式字符串
将主题表达式改为直接构造符合要求的字符串,避免生成JSON对象:
#[ '"DataGenerated": "' ++ ((now() >> 'IST') as String { format: "dd MMM KK:mm a" }) ++ '"' ]
方案2:显式序列化JSON为字符串
如果需要保留JSON结构生成逻辑,可使用write()函数将JSON对象转为字符串:
#[ write({ "DataGenerated" : (now() >> 'IST') as String { format: "dd MMM KK:mm a" } }, "application/json") ]
修正后的完整组件DSL
<email:send doc:id="e89769cc-f214-44a7-a772-d4a6f626aada" config-ref="Email_SMTP" fromAddress="**@gmail.com" subject="#[ '"DataGenerated": "' ++ ((now() >> 'IST') as String { format: "dd MMM KK:mm a" }) ++ '"' ]"> <email:to-addresses> <email:to-address value="**@gmail.com"></email:to-address> </email:to-addresses> <email:cc-addresses> <email:cc-address value="**@gmail.com"></email:cc-address> </email:cc-addresses> <email:body contentType="text/html"></email:body> </email:send>
内容的提问来源于stack exchange,提问作者Sandesh
相关产品推荐
相关产品推荐

