входного файла это-XML аудиовходов в dataweave
<A>
<B>
<merchant_ref>icici</merchant_ref>
<transaction_tag>sdfhisdb</transaction_tag>
<transaction_type>inquiry</transaction_type>
<method>valuelink</method>
<order_number>123</order_number>
<amount>1000</amount>
<currency_code>CAD</currency_code>
</B>
<B>
<merchant_ref>icici</merchant_ref>
<transaction_tag>sdfhisdb</transaction_tag>
<transaction_type>inquiry</transaction_type>
<method>valuelink</method>
<order_number>123</order_number>
<amount>2000</amount>
<currency_code></currency_code>
</B>
<B/>
<B>
<merchant_ref>icici</merchant_ref>
<transaction_tag>sdfhisdb</transaction_tag>
<transaction_type>inquiry</transaction_type>
<method>valuelink</method>
<order_number>123</order_number>
<amount>4000</amount>
<currency_code></currency_code>
</B>
<B>
<merchant_ref>icici</merchant_ref>
<transaction_tag>sdfhisdb</transaction_tag>
<transaction_type>inquiry</transaction_type>
<method>valuelink</method>
<order_number>123</order_number>
<amount>5000</amount>
<currency_code></currency_code>
</B>
</A>
попытался сопоставить, используя приведенную ниже код в dataweave
%output application/xml
---
Inquiry: payload.A.*B mapObject
{
\t balanceInquiry:
{
\t request: {
amount:{
amount: payload.A.B.amount/1000 as :number,
currency: payload.A.B.currency_code
}
}
}
}
Я пытаюсь отображать каждую va lue of B, который находится под A, но каждый раз, когда я получаю то же самое первое в 5 раз, как количество 1.0, должно ли оно измениться до 2.0 4.0 и 5.0
Пожалуйста, исправьте меня Если я делаю что-то неправильно, чтобы достичь всех значений B
Проблема я получаю ниже выходные в 5 раз 1,0 CAD balanceInquiry> а значение суммы на входе изменяется 1000 2000 4000 5000, так и в вне положенный я должен получить 1.0 то для следующего 2.0 и так далее –
Himanshu
Вы получаете ' 1,0 ' 5 раз, так как Код DataWeave неверен: 'payload.ABamount'. Замените его '$ .amount', после чего вы получите соответствующее значение. –
становится ниже сообщение об ошибке, : Исключение при выполнении: сумму: $ .amount/1000, как: количество, когда $ .amount ~ = нуль в противном случае 0, ^ Несоответствие типа найдено: имя,: строка требуется: имя,: объект Тип: com.mulesoft.weave.mule.exception.WeaveExecutionException Код: MULE_ERROR - 2 – Himanshu