我尝试在salesforce上执行删除操作,但收到错误消息" java.lang.ArrayStoreException"它意味着什么。
有人可以解释如何执行删除操作吗?我的代码是
<flow name="z_testFlow2" processingStrategy="synchronous">
<poll doc:name="Poll">
<fixed-frequency-scheduler frequency="10" startDelay="5" timeUnit="SECONDS"/>
<echo-component doc:name="Echo"/>
</poll>
<dw:transform-message doc:name="Transform Message">
<dw:set-payload><![CDATA[%dw 1.0 %output application/java
---
[{
Name:"Thir9"
}]]]></dw:set-payload>
</dw:transform-message>
<sfdc:delete config-ref="Salesforce__Basic_Authentication" doc:name="Salesforce"/>
<logger message="hi.......... #[payload]" level="INFO" doc:name="Logger"/>
</flow>
答案 0 :(得分:2)
删除操作需要一个包含id的字符串数组(例如[“1”,“2”,“3”,“4”])
一些注意事项:
1)默认输入将从有效负载(#[payload])中获取,在这种情况下,您必须先将ID列表设置到有效负载中
<dw:transform-message doc:name="Transform Message">
<dw:set-payload>
<![CDATA[
%dw 1.0
%output application/java
---
["1","2","3","4","5","6"]
]]>
</dw:set-payload>
</dw:transform-message>
<sfdc:delete config-ref="Salesforce__Basic_Authentication" doc:name="Salesforce" />
2)您可以更改默认表达式,从其他位置(例如从flowVar)获取ID
<sfdc:delete config-ref="Salesforce__Basic_Authentication" doc:name="Salesforce" >
<sfdc:ids ref="#[flowVars.myListOfIds]"/>
</sfdc:delete>
3)您可以指定 - 手动删除的ID
<sfdc:delete config-ref="Salesforce__Basic_Authentication" doc:name="Salesforce" >
<sfdc:ids>
<sfdc:id>123</sfdc:id>
<sfdc:id>666</sfdc:id>
</sfdc:ids>
</sfdc:delete>
答案 1 :(得分:2)
步骤1:使用SELECT
查询查找记录。例如:SELECT Id FROM employee
第2步:设置有效负载并将ID放置如下:#[[payload.Id]]
步骤3:然后在删除操作中使用以下表达式:#[payload]
答案 2 :(得分:0)
选择选项&#34;操作&#34;在salesforce连接器中并为删除操作写入SQL查询