【发布时间】:2016-02-28 09:53:25
【问题描述】:
我在dataweava中完成了编码
%dw 1.0
%input payload application/xml
%output application/xml skipNullOn="everywhere"
---
{((payload.*Order default []) map {
Order:{
Channel:$.@EnterpriseCode,
Code:$.@OrderNo,
Status:$.@Status,
OrderLines: {
(($.OrderLines.*OrderLine default []) map {
OrderLine:{
EntryNumber:"abc",
Status:$.@Status,
(($.OrderStatuses.*OrderStatus default []) map {
ShipDate:$.@StatusDate
})
}})}
}
}
)
}
但是将输入分配为时给出错误
<?xml version="1.0" encoding="UTF-8"?>
<Order EnterpriseCode="111" OrderNo="222" Status="Scheduled">
<OrderLines>
<OrderLine PrimeLineNo="2" Status="Shipped" OrderedQty="1000">
</OrderLine>
</OrderLines>
</Order>
这里有什么建议吗?我试过default [] 但它不起作用。分配 null node 时,其给出错误。我试过过滤为filter ($ != '')
【问题讨论】:
-
请提供示例输入输出数据。
-
它给出了什么错误?是
Cannot coerce a :null to a :array (com.mulesoft.weave.mule.exception.WeaveExecutionException). Message payload is of type: LinkedList吗?
标签: mule mule-studio mule-component mule-el dataweave