Mule 4中转换DateTime为Salesforce要求格式问题求助
Mule 4 中 DateTime 转换为 Salesforce 兼容格式的解决方案
输入的标准ISO DateTime字符串无法被Salesforce识别,触发INVALID_TYPE_ON_FIELD_IN_RECORD错误,需要转换为带三位毫秒和UTC时区偏移的格式。之前的脚本混淆了DateTime解析与格式化步骤,正确处理方式分为两步:
- 将输入字符串解析为Mule的DateTime对象(输入是标准ISO 8601格式,无需指定解析格式)
- 将DateTime对象格式化为Salesforce要求的字符串格式
正确的DataWeave脚本
{ "lastDateTime": "2022-11-29T19:12:21Z" as DateTime as String {format: "yyyy-MM-dd'T'HH:mm:ss.SSSZ"} }
脚本说明
"2022-11-29T19:12:21Z" as DateTime:输入字符串是带UTC标识的标准ISO 8601格式,Mule 4的DateTime类型可直接解析,无需额外指定format参数;as String {format: "yyyy-MM-dd'T'HH:mm:ss.SSSZ"}:将DateTime对象格式化为目标字符串:SSS:自动补全三位毫秒(原输入无毫秒时填充000);Z:输出UTC时区的偏移格式+0000,匹配Salesforce的DateTime格式要求。
内容的提问来源于stack exchange,提问作者Devendra
相关产品推荐
相关产品推荐

