Java MULE ESB使用前一个组件中的参数发送post

Java MULE ESB使用前一个组件中的参数发送post,java,rest,post,mule,Java,Rest,Post,Mule,首先,我想向您展示以下代码: <flow name="SetParamFlow" doc:name="SetParamFlow"> <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" path="setParamFlow" doc:name="HTTP" /> <response>

首先,我想向您展示以下代码:

    <flow name="SetParamFlow" doc:name="SetParamFlow">
    <http:inbound-endpoint exchange-pattern="request-response"
        host="localhost" port="8081" path="setParamFlow" doc:name="HTTP" />
    <response>
        <http:response-builder status="200"
            doc:name="HTTP Response Builder" contentType="application/json">
            <http:cache-control noCache="true" />
        </http:response-builder>
    </response>
    <json:json-to-object-transformer
        returnClass="com.integration.SetParamWrapper"
        doc:name="JSON to Object" />

    <expression-component doc:name="Args2SOAP">
      <![CDATA[
        import java.util.HashMap;
        payload = {
          payload.getParam1(),
          payload.getParam2()
        };
      ]]>

    </expression-component>

    <response>
        <json:object-to-json-transformer
            doc:name="Object to JSON" />
    </response>
    <response>
        <expression-component doc:name="Simplify">
          <![CDATA[
               payload = ['param1': payload.getParam1(), 'exception': payload.exception.getValue()];
             ]]>
        </expression-component>
        <logger message="Simplified result: #[message.payload]" level="INFO" doc:name="Simplified result"/>
    </response>
    <logger message="Setting params : #[message.payload]" level="INFO" doc:name="Setting params"/>
</flow>

这是我学习mule系统的一部分,你可以看到我得到了Param1和Param2,但我不知道如何在最后通过post

我希望将它们发布到外部位置,如:

www.foo.com/getParams?value1=getParam1()&value2=getParam2()


我可以用JavaSpringRESTTemplates实现这一点,但这并不是我希望充分使用mule的最佳选择。你知道我怎么才能通过那些女朋友吗

很难理解您的问题,因为您正在谈论发布,并且有一个GET示例

在流的末尾,消息负载是一个数组,其中包含使用getParam1()和getParam2()设置的表达式组件。如果您希望将这些参数输入到所描述的url中,可以在http出站中使用
address=”进行设置http://www.foo.com/getParams?value1=#[payload[0]]和&;value2=#[payload[1]]”

如果删除Args2SOAP表达式组件,则可以使用
address=”http://www.foo.com/getParams?value1=#[payload.getParam1()]和&;value2=#[payload.getParam2()]”直接

如果您确实想要使用HTTPPOST,那么在http出站之前设置为有效负载的任何内容都将作为POST数据发送