骡Dataweave:如何动态地映射HTTP响应(JSON)到XML输出

问题描述 投票:0回答:1

我建立一个应用程序,在这里我不得不打了一个RESTful接口,并通过响应用户界面的特定部分。

响应模型是一个有很多字段(字符串,对象,对象,数据类型数的阵列)的相当庞大,所以使用手动变换是一个很大的痛苦。

有没有一种方法来映射响应变量的部分,并直接将其发送到用户界面。

我试过了,

 %dw 2.0
%output application/xml

%var UserAcct= payload.UserResponse.UserDetailsResp.UserAccounts

---
{
  User: {
     "UserAccount": {   
        Account:  UserAcct
     }
   }
}

这并不因为工作,有效载荷具有列表,在响应和映射到可变对象等的阵列引发错误。是否有可能部分payload.UserResponse.UserDetailsResp.UserAccounts直接发送在dataweave?请帮忙。

mule dataweave mule-esb
1个回答
0
投票

如果添加输入有效载荷,错误和XML输出它会更有帮助。

以下是代码只是假设您的方案。你可以试试这个:

 %dw 2.0
 output application/xml
 ---
 {
   User: {
     "UserAccount": {   
        (payload.UserResponse.UserDetailsResp.UserAccounts map {
            Address:{
              <XMLFieldName>: $.<respectiveJSONFieldToMap>
              ....
            } 
        })
     }
   }
 } 
© www.soinside.com 2019 - 2024. All rights reserved.