gpt4 book ai didi

java - MULE ESB 使用先前组件的参数发送帖子

转载 作者:行者123 更新时间:2023-11-30 11:21:25 25 4
gpt4 key购买 nike

首先我想给你看代码:

    <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()

我可以用 java spring RestTemplates 做到这一点,但这不是我想完全使用 mule 的最佳选择。任何想法如何传递这些参数?

最佳答案

很难理解您的问题,因为您在谈论 POSTing 并举了一个 GET 示例。

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

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

如果您真的想使用 http POST,无论您在 http 出站之前设置为有效负载,都将作为 POST 数据发送。

关于java - MULE ESB 使用先前组件的参数发送帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22232804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com