【问题标题】:foreach in xml-node return null in mule esbxml节点中的foreach在mule esb中返回null
【发布时间】:2015-04-21 13:44:10
【问题描述】:

我正在使用以下流程。

 <flow name="mytestFlow1" doc:name="mytestFlow1">
        <http:inbound-endpoint mimeType="text/xml" path="xmltest" exchange-pattern="request-response" host="localhost" port="8081" doc:name="HTTP"/>
        <foreach collection="#[xpath://file//data//deliveryOrder]" doc:name="For Each" >
            <echo-component />
            <logger level="INFO" message="#[payload]" />
            <logger level="INFO" message="#[rootMessage]" />
        </foreach>
    </flow>

并在 xml 下方发布。

<file>
  <data>
    <deliveryOrder>
      <deliveryMethod>TRUCK1</deliveryMethod>
    </deliveryOrder>
    <deliveryOrder>
      <deliveryMethod>TRUCK21</deliveryMethod>
    </deliveryOrder>
    <deliveryOrder>
      <deliveryMethod>TRUCK2</deliveryMethod>
    </deliveryOrder>
  </data>
</file>

当我运行我的流回显组件时打印正确但记录器打印为空。我还使用了自定义转换器,它也打印 null。

感谢任何建议。

【问题讨论】:

    标签: java mule esb


    【解决方案1】:

    试试下面...你会得到&lt;deliveryMethod&gt;的所有值

    <flow name="mytestFlow1" doc:name="mytestFlow1">
      <http:inbound-endpoint
         mimeType="text/xml"
         path="xmltest"
         exchange-pattern="request-response"
         host="localhost"
         port="8081"
         doc:name="HTTP"/>
      <splitter
        evaluator="xpath"
        expression="//file/data/deliveryOrder"
        doc:name="Splitter_For_MultipleSameNodes"/>
      <logger level="INFO"
        message="#[xpath('//deliveryMethod').text]"
        doc:name="Logger"/>      
    </flow>
    

    【讨论】:

      【解决方案2】:

      问题是先转换为json来解决的。

      <json:xml-to-json-transformer doc:name="XML to JSON" />
          <foreach doc:name="For Each" collection="#[json:file/data/deliveryOrder]">
              <flow-ref name="insertdatabase" doc:name="Flow Reference" />
      
          </foreach>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-25
        • 1970-01-01
        • 2018-08-31
        • 1970-01-01
        • 2017-10-21
        相关资源
        最近更新 更多