问题标签 [dataweave]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1470 浏览

serialization - 无法在批处理步骤 Mule ESB 中捕获失败的记录

我已经对我的批处理进行了以下配置。

For batch Job --> max-failed-records=”-1” - 这表示该实例处理所有记录,不管没有。的记录失败。

Dataweave 中发生异常,当一些不正确的记录(错误数据)出现时,因此必须在第二个 Batchstep 中捕获此不正确的记录。

但我面临的问题是,第一批执行良好并显示失败记录的计数。

但是控件根本没有进入第二个批处理步骤,并且控制台中存在 PFB 异常。(仅当某些记录在第一个 BatchStep 中失败时才会发生这种情况)。对于积极的情况,批处理步骤工作正常。根据我的观察,日志控制台中的以下内容可能有用:无法在缓冲区“batch-stepping-queue-buffer”上排队 4 条记录,例如作业“failedrecordspocBatch”的“3b742880-98e1-11e5-9927-f0ea20524153”。记录将被标记为失败。处理块 id 是 '3d066141-98e1-11e5-9927-f0ea20524153' 。…… ..

然而,从下面的链接我了解到很少有有效载荷不能被序列化!!! 这是链接: http ://bushorn.com/deeper-lock-mule-batch/

所以,我知道我需要实现我第一次听到的 Kryo Serializer。

那么,有人可以帮助我如何在我的批处理步骤流程中实现Kryo Serializer概念。

如果需要任何澄清,请发表评论。

0 投票
1 回答
3750 浏览

mule - 在 Dataweave 中将字符串转换为日期

我的输入是一个.csv包含出生日期列的格式文件,其中包含诸如

我想将此列更改为日期(如果不可能,则至少更改为另一个字符串)格式,如下所示

. 尝试了 RyanCarter 建议的逻辑。我现在尝试使用

其中 DOB 是 .csv 输入中的字符串列。但我得到了以下例外。

0 投票
0 回答
423 浏览

mule - 如何访问 mule dataweave 中的先前迭代元素

我想BaseChargePerUnit在下一次迭代中访问前一个值元素。下一次迭代中的NewPrice值必须与上一次迭代的PreviousPrices值相同

这是示例输出

输入文件是这样的:

0 投票
1 回答
266 浏览

mule - ESB mule - Data Weaver 转换

我是骡子esb的新手。我正在尝试从 mySQL 获取值并转换为 XML。然后点击服务,然后结果将存储回数据库表中。我有两个问题

1) 我可以在 ESB mule 中看到两种不同的映射方式。a) 使用“Data Mapper” b) 使用“Transform Message” - 这将使用 data Weaver。哪一种转换方法适合我的要求。

2) 我尝试使用“Transform Message”和 Data Weaver 进行转换。我来自 DB 的输入将获取三行,如下所示。

预期输出为

我尝试了类似下面的数据编织器。

但是上面的 dw 没有给出预期的结果。你能帮我解决这个问题吗?

0 投票
2 回答
830 浏览

mule - 数据编织器中的默认命名空间声明

我正在尝试在数据编织器中创建 XML 时实现默认命名空间。我在数据编织器文档和早期帖子中进行了思考。对此没有任何线索。我们如何声明默认命名空间。

https://docs.mulesoft.com/mule-user-guide/v/3.7/dataweave-tutorial

我的输入将来自 DB - 链表。输出是 XML。

电流输出为

预期输出为

0 投票
2 回答
8483 浏览

mule - Mule:是否可以使用 DataWeave 来设置 flowVars

我正在创建一个流,它发出 twitter 搜索请求,循环遍历每条推文,并推送到目标连接器(文件、jdbc 等)。我希望在流程中的多个步骤中使用一些属性,例如 user.screenName、text 和 id。如果没有 DataWeave,我最初的反应是使用消息属性转换步骤来设置 flowVars。

所以我的问题是,对于以下 Json 有效负载,DataWeave 中是否有更优雅的方式来设置 flowVar,以便我可以在整个流范围内利用该变量?还是应该继续利用消息属性转换步骤来设置 flowVars?

推特响应 JSON:

数据编织:

0 投票
1 回答
84 浏览

mule-studio - 如何在 mule ESB 中处理响应

我正在尝试编写数据编织以在响应 xml 中添加价格。

请求 xml 看起来像

截至目前,我写了喜欢

输出 :

如何在响应 xml 中循环复杂标记?

基本上我想为 UniversityResponse/Fees 创建一个循环。在循环内我想写一些像 Plus = Plus + "UniversityResponse/Fees/Fee[counter].Fee"

0 投票
1 回答
448 浏览

arrays - Mule Dataweaver int 数组到 xml 元素soap

我在 MuleESB 中将整数数组转换为 xml 时遇到问题。

所以我有一个名为的对象UsagePoint,其中包含groups=ArrayOfint [_int=[2]]

在我的转换组件转换消息中,我尝试了以下转换方法,我故意省略了ns0 namespace

groupint我通过使用以下方法调用数组来在转换器组件之前设置一个流变量payload.getGroups().getInt(),结果是[2],我得到一个反序列化错误 Int32。

但是当我调用payload.getGroups().getInt()[0]这样我得到我的整数时,它工作正常。我的问题是数组中的元素可能不止一个。所以我想要一个结果:

而不是结果 xml 中只能包含 1 个 int 元素的结果。

我也试过只是说ns0#Groups: payload.groups。那么如何编写一个处理整数数组的 Dataweaver 表达式呢?

0 投票
1 回答
2019 浏览

mule - Mule DataWeave JSON 内容为空

骡版本:3.7.3

任意点工作室:5.4.0

为了学习 DataWeave,我创建了一个简单的流程来执行 twitter 搜索,循环遍历每条推文,尝试使用 DataWeave 压缩有效负载,然后记录结果。我遇到的问题是从 DW 出来的 json 似乎是空的。

DW之前的推文:

DW出来的payload不为null:

但是,当输出到日志时,'tweet' json 元素为空:

这是我的示例骡流程:

映射截图: 在此处输入图像描述

有什么想法我可能会把事情搞砸吗?

0 投票
1 回答
458 浏览

mule - Mule 设计 For Each 处理查询

为长消息道歉。我是 mule ESB 的新手,并试图详细说明我的问题。

我的要求是

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

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

    b)点击供应商服务。

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

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

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

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

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

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

为了达到上述要求,我建立了以下指定的 mule 流程。

在此处输入图像描述

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

我的查询是

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

请对此有所了解。

提前致谢!