如何通过vm

时间:2017-03-13 20:00:35

标签: mule transformer

我有一个流程,它可以转换一个有效负载并通过vm将其发送到另一个流程。我希望能够从以前的变换器中检索列表。不幸的是,只有放在它上面的原始消息才会被发送到另一个流的入站vm。无论我设置有效负载还是设置属性都没有给我一个列表。如何使用vm将列表输入第二个变压器?

  <flow name="Flow1">
    <custom-transformer class="com.nek.transformer.MyXmlToListTransformer">
     <set-property propertyName="listProp" value="#[payload]"/>
    <set-payload value=#[payload]/>
    <vm:outbound path="listHandler">
  </flow>

   <flow name="Flow1">
     <vm:inbound path="listHandler">
     <custom-transformer class="com.nek.transformer.MyListToMapTransformer">
   </flow>

   //This transformer wants the list from the previous transformer
   public MyListToMapTransformer extends AbstractTransformer{
     public Object doTransform(MuleMessage message, String outputEncoding){
      //Neither gives me the list from the previous transformer
      Object obj=message.getInboundProperty("listProp");
       obj-message.getPayload();
     }

   }  

1 个答案:

答案 0 :(得分:0)

使用set-property并使用message.getInboundProperty引用该值(&#39; myprop&#39;)