【问题标题】:Mule design For Each processing queryMule 设计 For Each 处理查询
【发布时间】:2015-12-18 11:20:27
【问题描述】:

对长消息表示歉意。我是 mule ESB 的新手,正在尝试详细说明我的问题。

我的要求是

  1. 获取 URL 中的输入作为查询参数,如大学名称。
  2. 连接数据库并在 where 条件下使用“学院名称”进行选择查询。
  3. 获取结果集(示例 - 使用元数据返回大学中的多个部门)并在每个循环下迭代结果集。

    a) 处理第一行并构造 XML 并添加 http 标头。

    b) 点击供应商服务。

    c) 接收来自供应商服务的响应。

    d) 处理供应商服务——在响应中操纵费用。

    c) 在数组变量中设置人工费用和部门。

    d) 删除处理后的“rootMessage”以释放内存。

  4. 处理完所有五行后(在选择命令中限制了 5 行选择)。现在我们将有五组变量。每个变量都应该有部门和费用。

  5. 使用“dept”和“fees”在数据库中运行更新命令。

为了达到上述要求,我已经建立了以下指定的骡流。

在这里我可以完成到第 3 步。我在第 4 步和第 5 步中被击中。

我的查询是

  • 如何在“for Each”范围内设置 mule ESB /Data weave 中数组类型变量的值。它应该增加。我的情况是被下一行/消息覆盖。因为我无法创建变量来增加自身。

请对此有所了解。

提前致谢!

【问题讨论】:

  • 您能否发布这些流的 mule XML 表示形式以及任何显示异常的日志输出?

标签: mule esb dataweave


【解决方案1】:

在编辑器中,您可以设置流变量来存储列表。

应该初始化

flowVars.myList = []

然后添加到每个循环中

flowVars.myList.add(element);flowVars.myLis

【讨论】:

  • 我尝试在每个循环之外初始化 flowvars myList。使用下面的评论。 ` ` 这给我一个错误。看来我不能在方括号中给出两个值。然后我尝试在 mylist 变量中使用 add 函数。这也给我一个错误。 <set-variable variableName="" value="#[flowVars.myList.add(#[message.payload.'product_id'])" doc:name="Variable"/> 我可以理解我的语法是错误的。请让我知道我该如何纠正这些。
  • 我认为您不需要值中的哈希值。这就是表达语言。这可能会有所帮助:docs.mulesoft.com/mule-user-guide/v/3.3/…
猜你喜欢
  • 1970-01-01
  • 2020-05-03
  • 1970-01-01
  • 1970-01-01
  • 2020-06-26
  • 1970-01-01
  • 2015-09-19
  • 1970-01-01
  • 2011-08-02
相关资源
最近更新 更多