Rest调用是用Java实现的。我想在m子中实现的同一件事,
Java代码如下:
URL url = new URL(RestUriConstants.BUSINESS_PROCESS_BASE + businessProcessName);
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("Accept","application/json");
OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
writer.write(data);
writer.flush();
在m子中,我发送两件事:
1. URL
2.支付负载
json如下所示:
{“ url”:“ http://mysystem.com:8080/rest/processData ”,“ param”:{“ claimNo”:“ 9”,“ status”:“ open”,“ customerName “:” Rajesh“}}
我该如何动态传递该网址,以及我需要将参数值传递给其余调用。
- -更新 - -
有效负载值就像
“ action = start&params = {'input':#[json:param]}&createTask = false&parts = all”
例子:
<set-payload value="action=start¶ms={'input':#[json:param]}&createTask=false&parts=all"/>
但它给出了错误。
谢谢。
要在Mule中使用动态url进行剩余调用,您只需要先将json设置为有效负载,然后再设置
<http:outbound-endpoint exchange-pattern="request-response" address="http://#[url]" method="POST" />
使用变量url定义url。
如果您的有效载荷是上述json字符串,则可以执行
<set-variable variableName="url" value="#[json:url]"/>
和
<set-payload value="#[json:param]"/>
出站前。请注意,在这种情况下,您必须像这样在出站地址中删除“ http://” URL前缀:
address="http://#[url.substring(7)]"
希望这能帮助您入门,您的问题尚不清楚。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句