在Mule ESB的有效负载标记中附加特定字符

在Mule ESB的有效负载标记中附加特定字符,mule,Mule,我希望在中获得如下所示的有效负载值: 但这是一个错误 谢谢。您可以通过将&替换为& 然而,这不是你唯一的问题 有效负载是一个保留变量,用于保存当前有效负载。您不能将set variable与variableName=“payload”一起使用,稍后调用#[payload]时将忽略您的设置 您的POST数据类似于action=start¶ms={input:yourdata}&createTask=false&parts=all。这是JSON和HTTPGET语法的某种混合,我怀疑

我希望在
中获得如下所示的有效负载值:


但这是一个错误


谢谢。

您可以通过将
&
替换为
&

然而,这不是你唯一的问题

  • 有效负载
    是一个保留变量,用于保存当前有效负载。您不能将
    set variable
    variableName=“payload”
    一起使用,稍后调用
    #[payload]
    时将忽略您的设置

  • 您的POST数据类似于
    action=start¶ms={input:yourdata}&createTask=false&parts=all
    。这是JSON和HTTPGET语法的某种混合,我怀疑这是您想要实现的。如果要以key=val格式发送POST请求,请设置Map类型的有效负载。如果您希望以JSON的形式发送请求,请使用JSON字符串设置有效负载,您可以将
    对象设置为JSON transformer
    ,以在Mule中提供帮助。如果希望在URL中包含参数,请将它们放在URL中。但是你不能混合这些不同的语法

  • <set-variable variableName="url" value="#[json:url]" doc:name="Variable"></set-variable>
    <set-variable variableName="payload" value="#[json:param]" doc:name="Variable"></set-variable>
    <http:outbound-endpoint exchange-pattern="request-response" address="http://admin:admin@#[url.substring(7)]" method="POST" doc:name="HTTP" password="admin" user="admin">
        <set-payload value="action=start&params={input:#[payload]}&createTask=false&parts=all"/>
    </http:outbound-endpoint>