Java 在Mule中使用Arraylist查询Salesforce

Java 在Mule中使用Arraylist查询Salesforce,java,salesforce,mule,esb,Java,Salesforce,Mule,Esb,我们试图在where语句中使用ArrayList查询Salesforce 下面是我们在where子句中尝试使用ArrayList时遇到的错误 我们对Salesforce使用的查询: 从[flowVars.successlist]中Id所在的呼叫日志中选择Id、账单号码 成功列表包含值['A1O9000001MSXWAAI','A1O9000001MSXXAAI'] 错误消息: 消息:调用查询失败。消息负载的类型为:ArrayList 如何解决此错误?很遗憾,您不能在Salesforce或数据库查

我们试图在where语句中使用ArrayList查询Salesforce

下面是我们在where子句中尝试使用ArrayList时遇到的错误

我们对Salesforce使用的查询:

从[flowVars.successlist]中Id所在的呼叫日志中选择Id、账单号码 成功列表包含值['A1O9000001MSXWAAI','A1O9000001MSXXAAI']

错误消息:

消息:调用查询失败。消息负载的类型为:ArrayList


如何解决此错误?

很遗憾,您不能在Salesforce或数据库查询中使用ArrayList作为参数。您必须使用脚本组件动态创建查询

试试这个:

0 sb.追加“\”\ 某人是成功者[我] } 附加\ } flowVars.query=sb.toString]]> 如果使用数据库,则必须将查询类型设置为动态:


我们使用Java函数string.join来转换列表,如下所示:

SELECT id  FROM User where Id  in   (#["'" + String.join("','", flowVars.fvCreatedbyIdList) + "'"])

非常感谢您的快速帮助!你也能看看这个问题吗。非常感谢。