如何在Mule中对Salesforce执行删除操作?

时间:2017-03-08 06:47:23

标签: salesforce mule delete-operator

我尝试在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> 

3 个答案:

答案 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查询