Java 在Mule中使用Arraylist查询Salesforce
我们试图在where语句中使用ArrayList查询Salesforce 下面是我们在where子句中尝试使用ArrayList时遇到的错误 我们对Salesforce使用的查询: 从[flowVars.successlist]中Id所在的呼叫日志中选择Id、账单号码 成功列表包含值['A1O9000001MSXWAAI','A1O9000001MSXXAAI'] 错误消息: 消息:调用查询失败。消息负载的类型为:ArrayListJava 在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或数据库查
如何解决此错误?很遗憾,您不能在Salesforce或数据库查询中使用ArrayList作为参数。您必须使用脚本组件动态创建查询 试试这个: 0 sb.追加“\”\ 某人是成功者[我] } 附加\ } flowVars.query=sb.toString]]> 如果使用数据库,则必须将查询类型设置为动态:
我们使用Java函数string.join来转换列表,如下所示:
SELECT id FROM User where Id in (#["'" + String.join("','", flowVars.fvCreatedbyIdList) + "'"])
非常感谢您的快速帮助!你也能看看这个问题吗。非常感谢。