问题标签 [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.
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概念。
如果需要任何澄清,请发表评论。
mule - 在 Dataweave 中将字符串转换为日期
我的输入是一个.csv
包含出生日期列的格式文件,其中包含诸如
我想将此列更改为日期(如果不可能,则至少更改为另一个字符串)格式,如下所示
. 尝试了 RyanCarter 建议的逻辑。我现在尝试使用
其中 DOB 是 .csv 输入中的字符串列。但我得到了以下例外。
mule - 如何访问 mule dataweave 中的先前迭代元素
我想BaseChargePerUnit
在下一次迭代中访问前一个值元素。下一次迭代中的NewPrice
值必须与上一次迭代的PreviousPrices
值相同
这是示例输出
输入文件是这样的:
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 没有给出预期的结果。你能帮我解决这个问题吗?
mule - 数据编织器中的默认命名空间声明
我正在尝试在数据编织器中创建 XML 时实现默认命名空间。我在数据编织器文档和早期帖子中进行了思考。对此没有任何线索。我们如何声明默认命名空间。
https://docs.mulesoft.com/mule-user-guide/v/3.7/dataweave-tutorial
我的输入将来自 DB - 链表。输出是 XML。
电流输出为
预期输出为
mule - Mule:是否可以使用 DataWeave 来设置 flowVars
我正在创建一个流,它发出 twitter 搜索请求,循环遍历每条推文,并推送到目标连接器(文件、jdbc 等)。我希望在流程中的多个步骤中使用一些属性,例如 user.screenName、text 和 id。如果没有 DataWeave,我最初的反应是使用消息属性转换步骤来设置 flowVars。
所以我的问题是,对于以下 Json 有效负载,DataWeave 中是否有更优雅的方式来设置 flowVar,以便我可以在整个流范围内利用该变量?还是应该继续利用消息属性转换步骤来设置 flowVars?
推特响应 JSON:
数据编织:
mule-studio - 如何在 mule ESB 中处理响应
我正在尝试编写数据编织以在响应 xml 中添加价格。
请求 xml 看起来像
截至目前,我写了喜欢
输出 :
如何在响应 xml 中循环复杂标记?
基本上我想为 UniversityResponse/Fees 创建一个循环。在循环内我想写一些像 Plus = Plus + "UniversityResponse/Fees/Fee[counter].Fee"
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 表达式呢?
mule - Mule 设计 For Each 处理查询
为长消息道歉。我是 mule ESB 的新手,并试图详细说明我的问题。
我的要求是
- 获取 URL 中的输入作为查询参数,如大学名称。
- 连接数据库并在 where 条件下使用“学院名称”进行选择查询。
获取结果集(示例 - 使用元数据返回大学中的多个部门)并在每个循环下迭代结果集。
a) 处理第一行并构造 XML 并添加 http 标头。
b)点击供应商服务。
c) 接收来自供应商服务的响应。
d) 处理供应商服务——在响应中操纵费用的一种。
c) 在数组变量中设置人工费用和部门。
d) 删除处理过的“rootMessage”以释放内存。
处理完所有五行后(选择命令中的有限 5 行选择)。现在我们将有五组变量。每个变量都应该有部门和费用。
使用“dept”和“fees”在数据库中运行更新命令。
为了达到上述要求,我建立了以下指定的 mule 流程。
在这里,我可以完成到第 3 步。我在第 4 步和第 5 步中被击中。
我的查询是
- 如何在“for Each”范围内的 mule ESB /Data weave 中设置数组类型变量的值。它应该增加。我的情况是被下一行/消息覆盖。因为我无法创建变量来增加自身。
请对此有所了解。
提前致谢!