Mule 4中Salesforce连接器Query Single操作如何使用命名参数?
Mule 4 Salesforce连接器Query Single操作正确使用命名参数的方法
你遇到的问题主要是SOQL查询里的命名参数格式错误,加上DataWeave脚本的拼写失误导致的。下面是正确的配置方式,一步步帮你修正:
1. 修正SOQL查询的参数格式
在Salesforce的SOQL中,命名参数需要以**冒号(:)**作为前缀,并且要明确写出字段和参数的匹配关系。你原来的where email:email写法是错误的,正确的格式应该是WHERE Email = :email(注意Salesforce标准对象User的邮箱字段是Email,建议使用标准字段名避免大小写问题)。
2. 修正DataWeave参数脚本
你写的output applicaton/java里有拼写错误,应该是output application/java,同时确保参数的键名和SOQL里的参数名完全一致。
完整的正确配置示例
<salesforce:query-single doc:name="Query single" doc:id="dcec29d2-e031-123-be05-4566777" config-ref="Salesforce_Config" target="userId"> <salesforce:salesforce-query> SELECT Id FROM User WHERE Email = :email </salesforce:salesforce-query> <salesforce:parameters> <![CDATA[#[output application/java --- { email: payload.email }]]]> </salesforce:parameters> </salesforce:query-single>
额外注意事项
- 确保参数值的类型和Salesforce目标字段类型匹配:比如Email是字符串类型,直接传入字符串即可,不需要手动加引号,连接器会自动处理参数绑定和转义。
- 如果查询的是其他字段(比如日期、数字),也要保证参数的格式符合Salesforce的要求,比如日期参数要传入
LocalDate或符合ISO格式的字符串。
内容的提问来源于stack exchange,提问作者user94538
相关产品推荐
相关产品推荐

