MULE ESB: DATA WEAVE
PARSING XML PAYLOAD
BY MURALIDHAR. GUMMA
XML – JAVA CONVERSION IN DATAWEAVE MULE
PRE-REQUISITES:
• ANYPOINT STUDIO
• MULE ESB RUNTIME 3.8
• XML INPUT FILE.
INPUT XML FILE
<user>
<name>Max</name>
<lastName>Mule</lastName>
</user>
MULE FLOW
CONFIG.XML
<http:listener-config name="HTTP_Listener_Configuration"
host="0.0.0.0" port="8081" doc:name="HTTP Listener
Configuration"/>
<flow name="parsexmlFlow">
<http:listener config-
ref="HTTP_Listener_Configuration" path="/"
doc:name="HTTP"/>
<dw:transform-message metadata:id="3b459816-
cc8f-46aa-9f2f-34372d3b506c" doc:name="Transform
Message">
<dw:input-payload
doc:sample="D:MuraliSampleXML.xml"
mimeType="application/xml"/>
<dw:set-payload><![CDATA[%dw 1.0
%output application/java
---
{
firstname:payload.Details.user.name,
LastName:payload.Details.user.lastName
}]]></dw:set-payload>
</dw:transform-message>
<byte-array-to-string-transformer doc:name="Byte
IN THE TRANSFORM CODE, JUST USE THE BELOW SIMPLE
LOGIC.
THE XML DATA WILL COME TO THE TRANSFORM
MESSAGE AS PAYLOAD. NOW CONSIDER PAYLOAD AS A
STATIC CLASS IN JAVA AND FOLLOW THE BELOW CODE
TO GET THE WHATEVER THE DATA YOU NEED TO
RETRIEVE FROM AN XML TAG.
THE VALUES ARE ASSIGNED TO VARIABLES.
{
FIRSTNAME: PAYLOAD.USER.NAME,
LASTNAME: PAYLOAD.USER.LASTNAME
}
DATAWEAVE
Test this service from a browser or by using the postman you can find
the desired output
THANK Q

Mule xml parsing

  • 1.
    MULE ESB: DATAWEAVE PARSING XML PAYLOAD BY MURALIDHAR. GUMMA
  • 2.
    XML – JAVACONVERSION IN DATAWEAVE MULE PRE-REQUISITES: • ANYPOINT STUDIO • MULE ESB RUNTIME 3.8 • XML INPUT FILE. INPUT XML FILE <user> <name>Max</name> <lastName>Mule</lastName> </user>
  • 3.
  • 4.
    CONFIG.XML <http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081"doc:name="HTTP Listener Configuration"/> <flow name="parsexmlFlow"> <http:listener config- ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/> <dw:transform-message metadata:id="3b459816- cc8f-46aa-9f2f-34372d3b506c" doc:name="Transform Message"> <dw:input-payload doc:sample="D:MuraliSampleXML.xml" mimeType="application/xml"/> <dw:set-payload><![CDATA[%dw 1.0 %output application/java --- { firstname:payload.Details.user.name, LastName:payload.Details.user.lastName }]]></dw:set-payload> </dw:transform-message> <byte-array-to-string-transformer doc:name="Byte
  • 5.
    IN THE TRANSFORMCODE, JUST USE THE BELOW SIMPLE LOGIC. THE XML DATA WILL COME TO THE TRANSFORM MESSAGE AS PAYLOAD. NOW CONSIDER PAYLOAD AS A STATIC CLASS IN JAVA AND FOLLOW THE BELOW CODE TO GET THE WHATEVER THE DATA YOU NEED TO RETRIEVE FROM AN XML TAG. THE VALUES ARE ASSIGNED TO VARIABLES. { FIRSTNAME: PAYLOAD.USER.NAME, LASTNAME: PAYLOAD.USER.LASTNAME }
  • 6.
    DATAWEAVE Test this servicefrom a browser or by using the postman you can find the desired output
  • 7.