Mule ESB创建地图有效负载

时间:2011-08-11 13:02:18

标签: java mule

我需要将入站有效负载转换为map(java.util.Map)。有什么方法可以在mule xml configs中创建地图吗?

此致

编辑: Payload类型是com.novell.LDAPAttributeSet,它是LDAPAttribute对象的集合。 LDAPAttribute对象包含名称和值字段。我需要提取名称和值字段并将它们转换为map。使用jxpath表达式提取字段。但我不知道如何从这些领域创建地图。

1 个答案:

答案 0 :(得分:4)

我建议你使用Groovy变换器:

<script:transformer>
  <script:script engine="groovy">
    [key1: payload.attr1,
     key2: payload.attr2]
  </script:script>
</script:transformer>

其中key1,key2是您在map和attr1中使用的键选择,attr2是LDAPAttributeSet的属性(或任何其他有效表达式,允许您从此对象中获取所需的值)。

PS。如果您想知道,脚本名称空间是这样声明的:

xmlns:script="http://www.mulesoft.org/schema/mule/scripting"

xsi:schemaLocation="
   http://www.mulesoft.org/schema/mule/scripting 
   http://www.mulesoft.org/schema/mule/scripting/3.1/mule-scripting.xsd"