当前位置: 首页 > 知识库问答 >
问题:

使用dataweave 2.0在mule 4中转换xml有效负载

瞿文柏
2023-03-14

在我的例子中,我在Mule3中使用Java完成了XML有效载荷转换。

但是在Mule 4中,我们是否能够使用Dataweave 2.0转换xml有效载荷。

我有一个XML请求和预期的响应负载。但是不知道用Dataweave 2.0来改造

输入XML:https://github.com/Manikandan99/demo/blob/master/input_xml_request

输出 XML:https://github.com/Manikandan99/demo/blob/master/output_xml

我的逻辑的Java代码:https://github.com/Manikandan99/demo/blob/master/transform_xml.java

注意:

        * Difference between the input and output payload is that the value of the DTOStep node should be updated.
        * The attribute value of DTOStep is autoincremented from 500 each time.

请协助我。

共有1个答案

陈鸿才
2023-03-14

一般来说,在Mule 4中有两种主要的方法来解决这个问题。

  1. 在DataWeave 2中实现所需的转换。这通常是建议的,也是Mule 4中的自然方式。
  2. 迁移Mule 3 Java代码。这意味着从Java代码中删除对Mule Java API、类型、类、接口或包的任何引用。Mule 4期望纯Java代码,而不使用Mule内部。例如,这意味着没有对Mule事件、消息或变量的引用。只需将所有内容作为正在调用的方法的参数并使用Java模块即可。不要假设Mule神奇地将DOM发送到您的代码中。要调用Mule 4中的Java代码,请阅读Java模块文档中的说明
 类似资料:
  • 我一直试图从Salesforce查询转换日期字段,并将该记录插入到Oracle表中。我在格式上遇到了很多麻烦,因为输入被视为字符串,所以Date{format:“yyyy-mm-dd''hh:mm:ss”}不起作用。 最终我找到了一个答案,我想在这里分享它,因为它是一个字符串,可以通过字符串操作来解决。下面是我的答案:created_at:(payload.createddate splitby“

  • XML输入文件: XML输入文件转换为XML输出文件。将XML输入文件的firstName、middleName和lastName标签合并为XML Ouput文件的name标签,将XML输入文件的address1、address2、city、state和pincode标签合并为XML Ouput文件的address标签。 我几乎转换了代码,但我在这里与empId作斗争。我已经在XSLT文件中手动输

  • 是否可以在发布的有效负载中使用在上一次测试中设置的环境变量? 例如。

  • 问题内容: 我希望在python3中以有效的方式使用该功能。我拥有的代码可以完成任务,但是速度太慢,因为我正在处理大型数据集。因此,只要有折衷,我的工作重点就是效率而不是优雅。这是我想做的玩具: 这使 如我所愿,但是花费的时间太长了。最快的方法是什么? 编辑:这是比该问题更集中和明确的问题,其解决方案与此类似。 问题答案: 用于执行查找: 为了避免没有有效密钥的情况,您可以通过 您还可以使用回答有

  • 问题内容: 我想使用xsl文件转换一些xml并以某种方式输出结果(我使用的是Android Api Level 8)。 我当前的活动看起来像这样,但是转换器保持为空。LogCat引发一个with ,表示xml格式不正确,但是我确定它是正确的。 我在LogCat中发现了一条提示,提示在上述错误消息之前。 我究竟做错了什么? 这是要转换的xml文件(source.xml) 这是对应的xsl(produ

  • 我想使用XSLT将一些XML转换为JSON。XML如下所示: 我希望JSON如下所示: 推荐的方法是什么? 我已经有了一个方法,它看起来不太好,因为它只适用于xslt 1.0(我认为)和文本块。请参阅此处:https://xsltfiddle.liberty-development.net/naZYrpy/1 我更喜欢使用xslt 3.0和xml to json函数的更有效方法,但似乎不可能添加额