Mule Dataweave: как динамически отобразить ответ HTTP (JSON) на вывод XML - PullRequest
0 голосов
/ 30 января 2019

Я создаю приложение, в котором мне нужно нажать на успокоительный интерфейс и передать определенный раздел ответа пользовательскому интерфейсу.

Модель ответа довольно огромная с большим количеством полей (String,массив объектов, объект, число типов данных), поэтому использование ручного преобразования является большой болью.

Есть ли способ отобразить раздел ответа на переменную и напрямую отправить его в пользовательский интерфейс.

Я пытался,

 %dw 2.0
%output application/xml

%var UserAcct= payload.UserResponse.UserDetailsResp.UserAccounts

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

Это не работает, потому что полезная нагрузка имеет в ответе List, Array of Objects и т. Д., А сопоставление с переменной выдает ошибку.Можно ли отправить раздел payload.UserResponse.UserDetailsResp.UserAccounts прямо в dataweave ??Пожалуйста, помогите.

1 Ответ

0 голосов
/ 11 февраля 2019

Будет более полезно, если вы добавите полезную нагрузку ввода, ошибку и вывод XML.

Ниже приведен код, просто исходя из вашего сценария.Вы можете попробовать это:

 %dw 2.0
 output application/xml
 ---
 {
   User: {
     "UserAccount": {   
        (payload.UserResponse.UserDetailsResp.UserAccounts map {
            Address:{
              <XMLFieldName>: $.<respectiveJSONFieldToMap>
              ....
            } 
        })
     }
   }
 } 
...