groovy检索def值并将其分配给特定位置

时间:2019-07-11 11:20:47

标签: groovy mule

我是Groovy的新手,他试图从def中检索值并将其放在另一个def值中的特定位置。有人可以帮忙吗

def init = "Hello"
def msg = """<?xml version="1.0" encoding="UTF-8"?>
<report id="${init}"> -- here i want to replace with above value which is Hello>
    <exception code="1">Invalid request</exception>
</report>
"""

我期望产量低于

<?xml version="1.0" encoding="UTF-8"?>
<report id="Hello">
    <exception code="1">Invalid request</exception>
</report>

1 个答案:

答案 0 :(得分:0)

将mimeType设置为application / xml应该可以。

<flow name="xmlFlow">
    <http:listener config-ref="HTTP_Listener_Configuration" path="/groovy" doc:name="HTTP"/>
    <scripting:component doc:name="Groovy">
        <scripting:script engine="Groovy"><![CDATA[def init = "Hello"
    def msg = """<?xml version="1.0" encoding="UTF-8"?>
    <report id="${init}">
        <exception code="1">Invalid request</exception>
    </report>
    """]]></scripting:script>
    </scripting:component>
    <set-payload value="#[message.payloadAs(java.lang.String)]" mimeType="application/xml" doc:name="Set Payload"/>
</flow>