【问题标题】:getting response from web service using mule CE使用 mule CE 从 Web 服务获取响应
【发布时间】:2015-04-08 19:11:20
【问题描述】:

您可以在下面看到我的项目。我将数据发送到网络服务,当我使用邮递员进行测试时,我得到了网络服务的响应,它是 json 格式:{“成功”:0,“失败”:1}。 现在我想在我的骡子中得到这个响应,因为我需要用结果完成一个测试。先感谢您。 用邮递员测试:

现在我将添加“选择组件”如果成功 = 1 并且失败 = 0 然后“记录器有一条消息没关系”,如果不是,我会做另一件事。

【问题讨论】:

  • 请添加您使用 Postman 创建的 HTTP 请求(包括标头、参数等),因为这是您现在想对 mule 执行的操作。
  • 感谢@afelisatti 的回复。你现在可以看到我更新的问题了。
  • @AnirbanSenChowdhary 这是我第一次使用这些组件,所以如果你能告诉我在哪里添加缺少的东西或给我一个例子,我将不胜感激。
  • 我试过这个:pastebin.com/qkX9pkEc。但它没有用,请任何答案。

标签: mule esb


【解决方案1】:

http 出站端点后放<json:json-to-object-transformer returnClass="java.util.List" doc:name="JSON to Object"/>

然后在选择组件中,表达式#[message.payload.success]是1,#[message.payload.failed]是0然后记录ok或者做其他事情

更新 在您收到{"success":0,"failed":1} 的回复后,请输入<json:json-to-object-transformer returnClass="java.lang.Object" doc:name="JSON to Object"/> 并提取以下表达式 MEL 中的值:-

#[message.payload.success]  and #[message.payload.failed]

然后在选择组件中,表达式#[message.payload.success]是1,#[message.payload.failed]是0然后记录ok或者做其他事情

【讨论】:

  • 在 http 出站后使用 #[message.payload] 放置一个记录器并告诉我你得到了什么
  • 我收到这条消息:org.mule.transport.http.ReleasingInputStream@182e429
  • 您能否在记录器之前将一个对象放入字符串转换器或对字符串转换器的 http 响应并告诉我您得到了什么
  • with #[message.payload] 它正在工作并给出结果,但是当我尝试 #[message.payload.success] 它给出 null ans 这是正常的,因为我们现在有字符串。所以我尝试了对 json 的对象,但它给出了错误。
  • 等等等等..我会给你解决方案..只要确认我你得到了message.payload中的json响应
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多