2017-05-11 3 views
0

SalesForceを照会するフローがあります。クエリはより豊かにラップされます。ここに流れがあります。Mule ConsumerIteratorエラーはLinkedHashMapです

 <flow name="ProcessEmployee"> 
      <enricher doc:name="Message Enricher" target="# 
              [variable:IDRec]"> 
       <sfdc:query config-ref="Salesforce_Config" 
        doc:name="Check if Employee Id exists" 

      query="select id from employee where 

      deptId='#[payload[&quot;deptId&quot;]]' &amp;&amp; 
         empId='#[payload[&quot;empId&quot;]]'" /> 
      </enricher> 
      <choice> 
       <when expression="#[flowVars.IDRec.hasNext()]"> 
        <logger level="INFO" 
         message="Employee exists, #[payload]" /> 
       </when> 
       <otherwise> 
        <logger level="INFO" message="Employee does not exist"/> 
       </otherwise> 
      </choice> 
     </flow> 

は、しかし、私は次のようなエラー を得る:式 "flowVars.IDRec.hasNext()" の実行に失敗しました。

(org.mule.api.expression.ExpressionRuntimeException)メッセージペイロードのタイプは次のとおりです。LinkedHashMap

   Type: org.mule.api.MessagingException 
       Code : MULE_ERROR--2 

答えて

0

戻り値はマップです。このアプローチを試すと、

<choice> 
    <when expression="#[flowVars.IDRec.size() > 0]"> 
     <logger level="INFO" message="Employee exists, #[payload]" /> 
    </when> 
    <otherwise> 
     <logger level="INFO" message="Employee does not exist"/> 
    </otherwise> 
</choice> 
関連する問題