java - MULE ESB 中的 REST 调用

标签 java json rest mule

Rest 调用是用 Java 实现的。我想在骡子中实现同样的事情,
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();

在 mule 中我发送了两件事
1.网址
2.有效负载

json如下:
{"url":"http://mysystem.com:8080/rest/processData ","param":{"claimNo":"9","status":"open", "customerName":"Rajesh"}}

我如何动态传递该网址,以及我需要将参数值传递到其余调用中..

---更新----

有效负载值类似于
“action=start¶ms={'input':#[json:param]}&createTask=false&parts=all”

示例:

<set-payload value="action=start&params={'input':#[json:param]}&createTask=false&parts=all"/>

但它给出了错误。

谢谢。

最佳答案

要在 Mule 中使用动态 url 进行剩余调用,您只需先将 json 设置为有效负载,然后

<http:outbound-endpoint exchange-pattern="request-response" address="http://#[url]" method="POST" />

使用变量 url 定义 url。

如果你的payload是上面的json字符串,你可以这样做

<set-variable variableName="url" value="#[json:url]"/>

<set-payload value="#[json:param]"/>

出境前。请注意,在这种情况下,您必须在出站中去除“http://”url 前缀,如下所示:

address="http://#[url.substring(7)]"

希望这能让您开始,您的问题有点不清楚。

关于java - MULE ESB 中的 REST 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22451108/

相关文章:

php - 我如何在我的应用程序中使用 json?

asp.net - 需要帮助选择新的 .net 框架来创建非常薄的 RESTful 服务

Android Json 对象和 json 数组发送到 httppost

java - Android:如何创建多个闹钟并在选择后取消它们

java - 如何在断言中将值写入字符串

java - 发送ajax表单到jsp页面

jquery - 让Grails读取我提交的JSON PUT AJAX请求?

database - CouchDB 中的 "Content-Type must be application/json"错误

objective-c - 在 Objective-C 应用程序中保留 session ID

java - 多次从 Kafka 读取同一条消息