【问题标题】:Parsing for errors from Salesforce Connector in Mule ESB在 Mule ESB 中解析来自 Salesforce 连接器的错误
【发布时间】:2014-02-20 08:50:05
【问题描述】:

我正在使用 Mule ESB 3.4 CE。我有这个使用 Salesforce 连接器创建联系人的流程。我想解析错误并采取一些措施。

....
<sfdc:create config-ref="Salesforce" type="Contact" doc:name="Create Contacts">
     <sfdc:objects ref="#[payload]"/>
</sfdc:create>
<expression-component doc:name="Get Successful List">flowVars.listSuccess = ($ in payload if $.success=='true')</expression-component>
<expression-component doc:name="Get Failed List">flowVars.listErrors = ($.errors in payload if $.success=='false')</expression-component>

结果如下:

[[SaveResult  errors='{[1][Error  fields='{[1]Email,}'
  message='A contact with this email address already exists.'
  statusCode='FIELD_CUSTOM_VALIDATION_EXCEPTION'
 ]
 ,}'
 id='null'
 success='false'
]
, [SaveResult  errors='{[1][Error  fields='{[1]Email,}'
   message='A contact with this email address already exists.'
   statusCode='FIELD_CUSTOM_VALIDATION_EXCEPTION'
  ]
,}'
id='null'
success='false'
]
]

我能够通过以下表达式组件获取 id:

<expression-component doc:name="Get Failed List">flowVars.listIds = (Id in payload)</expression-component>

但是,如果出现错误,我无法查看 statusCode 和消息。我尝试了各种组合,但我无法得到它。例如#[(message in (errors in flowVars.listErrors)]。当 Salesforce 返回错误时,如何获取 StatusCode 和消息?

【问题讨论】:

    标签: mule mule-studio mule-el


    【解决方案1】:

    您的 flowVars.listErrors 将包含一个错误数组列表。查看以下组件以获得灵感:

    <logger message="#[flowVars.listErrors[0][0].message]" level="INFO" doc:name="Logger"/>
    
    <scripting:component doc:name="Groovy">
       <scripting:script engine="Groovy"><![CDATA[
          flowVars.listErrors.each{it->it.each{it2->println('message:'+it2.message)}}
       ]]></scripting:script>
    </scripting:component>
    

    【讨论】:

    • 我可以在控制台看到输出,但是如何将消息和状态码提取到变量中,以便我可以登录数据库?
    • 我不知道您是否可以在 MEL 中展平此类嵌套列表,或者这是否是记录错误的最佳方式,但您始终可以按照我在 Groovy 中的示例并使用该方法提取消息/状态代码并将它们分配给变量。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    • 1970-01-01
    • 2015-04-28
    • 1970-01-01
    • 2016-03-17
    • 1970-01-01
    相关资源
    最近更新 更多