在Mule4.0中使用DataWeave2.0实现JSON到XML的转换


现在,大多数数据都像JSON或XML一样作为每个系统的输入/输出。为了得到下游系统所需的格式,比特需要进行复杂的转换,但MuleSoft将很容易地完成这一操作,并将其推入目标系统。这篇文章将解释在MuleSoft中进行JSON到XML转换的简单方法。这可以通过使用DataWeave来实现,不仅可以使用JSON,还可以使用Java,CSV和XML格式。

Step1:从Anypoint Studio中选择Mule项目,并写入项目名称。然后,单击OK。

Step2:拖放HTTP listener,并将消息转换为跟踪Mule调色板中的logs logger组件。

Step3:加载元数据,映射数据,如下图截图所示。

Step4:之后,您可以通过右键单击流并运行项目DatabaseSelect来部署您的应用程序。然后您将在控制台中看到部署状态。

步骤5:检查您的应用程序是否按照Postman的预期运行。

代码段:

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"

       xmlns="http://www.mulesoft.org/schema/mule/core"

   xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd

http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd

http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">

       <http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="8f99e5e7-3375-46e5-ad5e-23b6c4d9624c" >

             <http:listener-connection host="0.0.0.0" port="6757" />

       </http:listener-config>

       <flow name="jsontoxmlFlow" doc:id="37c1e6ab-60f2-423e-9f95-a1c6417844da" >

             <http:listener doc:name="Listener" doc:id="64cb15b9-06d1-4e9a-8b79-8adca4ca1892" config-ref="HTTP_Listener_config" path="/jsontoxml">

                    <ee:repeatable-file-store-stream />

             </http:listener>

             <ee:transform doc:name="Transform Message" doc:id="5cf58b0e-23ad-4925-a763-88bc7a906349" >

                    <ee:message >

                          <ee:set-payload ><![CDATA[%dw 2.0

output application/xml

---

{

       test:payload

}]]></ee:set-payload>

                    </ee:message>

             </ee:transform>

             <logger level="INFO" doc:name="Logger" doc:id="6f05b849-991d-4034-9e5d-4f6751fdd030" message="Success: #[payload] "/>

       </flow>

</mule>

谢谢。