2015-05-08 46 views
0

我在foreach中迭代xml。 Echo打印正確的消息,但記錄器打印爲空。記錄器打印null,但在mule流中回顯打印消息

<foreach collection="#[xpath('//xmlsoap/soap/soapenv:Envelope')]" 
      doc:name="For Each"> 
      <echo-component /> 
      <logger level="INFO" category="ProTSP Logger" message="#[payload]" 
      doc:name="Logger" /> 
     </foreach> 

enter image description here

+0

您是否通過刪除回聲(Keep Logger alone)或After After進行了測試對於每一種情況,請保持記錄器並觀察有效負載? – star

+0

是的,單獨打印記錄器也打印相同 –

+0

嘗試: - '#[message.payload]'而不是'#[有效載荷]' –

回答

0

我使用DOM XML轉換器解決了我的問題。

<foreach collection="#[xpath('//xmlsoap/soap/soapenv:Envelope')]" 
      doc:name="For Each"> 

      <echo-component doc:name="Echo"/> 
      <mulexml:dom-to-xml-transformer doc:name="DOM to XML"/> 



      <logger level="INFO" category="ProTSP Logger" message="#[payload]" 
       doc:name="Logger" /> 
     </foreach> 
+1

因此,公平地說,記錄器不是「打印空」它調用toString ()爲dom類(它是什麼) – Sudarshan