2017-03-08 34 views
0

我试图对salesforce执行删除操作,但得到错误消息“java.lang.ArrayStoreException”是什么意思。如何在Mule中对Salesforce执行删除操作?

任何人都可以解释如何执行删除操作?我的代码是

<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

你应该把元素的ID是删除 – Abhay

回答

0

选择在销售力连接器选项“操作”和写SQL查询删除操作

1

删除操作预计含有的ID字符串数组(例如[“1”, “2”, “3”, “4”])

一些考虑:

1)默认的输入将被从有效载荷采取(#[有效载荷]),在这种情况下,必须将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)您可以更改默认表达式,从不同的地方获取id(例如,从flowVar)

<sfdc:delete config-ref="Salesforce__Basic_Authentication" doc:name="Salesforce" > 
    <sfdc:ids ref="#[flowVars.myListOfIds]"/> 
</sfdc:delete> 

3)可以指定-manually的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

步骤1:使用SELECT查询来查找记录。例如:SELECT Id FROM employee

第2步:设置有效载荷,并把这样的ID:#[[payload.Id]]

第3步:然后使用删除操作下面的表达式:#[payload]

相关问题