【问题标题】:Passing An Array Payload to Mule Salesforce Connector generates error将数组有效负载传递给 Mule Salesforce 连接器会生成错误
【发布时间】:2013-12-02 14:47:01
【问题描述】:

我有一个表达式组件,它创建一个字符串数组类型的对象,用于处理对销售人员的删除请求。但是每次超出表达式时流程都会失败。

我在控制台看到的错误是:

找不到将“SimpleDataType{type=[Ljava.lang.String;, mimeType='/'}”转换为“CollectionDataType{type=java.util.List, itemType”的转换器=java.lang.Object, mimeType='/'}"。

 <sub-flow name="DeleteAspenOrderInfo" doc:name="DeleteAspenOrderInfo">
    <expression-component doc:name="Expression">    ArrayList queryresponse =flowVars['DeleteOidList'];
int size=queryresponse.size();
String[] idArray=new String[size];
int i=0;
for(HashMap map  : queryresponse) 
{
String aValue = map.get("Id");
idArray[i]=aValue;
i++;
}

payload= idArray;</expression-component>
    <sfdc:delete config-ref="SalesforceConnector" doc:name="Salesforce">
        <sfdc:ids ref="#[payload]"/>
    </sfdc:delete>
    <custom-transformer class="com.aspen.transformer.AOIDeleteTransformer" doc:name="Java"/>
</sub-flow>

请告知是否有其他方法来执行此操作。

【问题讨论】:

  • 添加 mule 配置以帮助更好地理解问题。
  • 已编辑以包含配置信息。

标签: mule


【解决方案1】:

根据the connector's JavaDocdelete 方法有这个签名:

public List<DeleteResult> delete (List<String> ids)

因此,将表达式组件更改为输出 List&lt;String&gt; 而不是 String[]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多