如何在Mule4中将带CDATA的SOAP响应转换为指定结构JSON
Mule4 SOAP响应转指定JSON数组实现方案
你可以直接在Mule4的Transform Message组件中使用如下DataWeave 2.0脚本完成转换:
%dw 2.0 output application/json --- // 解析CDATA包裹的XML内容 var routeXml = read(payload.body.out as String, "application/xml") --- routeXml.ROUTELIST.*ROUTEINFO map (route -> { origin: route.ORIGIN, destination: route.DESTINATION })
转换逻辑说明
- 从SOAP响应体中提取
out字段的CDATA字符串,通过read()函数将其转换为可解析的XML对象 - 使用
*ROUTEINFO匹配所有路线节点,即使后续返回多个路线也能正确生成JSON数组 - 直接映射XML节点值到目标JSON字段即可,输出格式完全匹配需求
输出结果示例
[ { "origin": "MY-KUL", "destination": "SG-BEU" } ]
内容的提问来源于stack exchange,提问作者Jayson Mendoza
相关产品推荐
相关产品推荐

