我需要将入站有效负载转换为map(java.util.Map)。有什么方法可以在mule xml configs中创建地图吗?
此致
编辑: Payload类型是com.novell.LDAPAttributeSet,它是LDAPAttribute对象的集合。 LDAPAttribute对象包含名称和值字段。我需要提取名称和值字段并将它们转换为map。使用jxpath表达式提取字段。但我不知道如何从这些领域创建地图。
答案 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"