0
2つの異なるJsonデータストリームのJavaマップを構築しています。しかしストリームの1つは、量でヌル値が含まれている場合、フローは次の条件を使用してエラーますMule Dataweave nullにa:numberを強制することはできません。
($.itemid) : '"' ++ skuLookup[$.sku][0].qty as :number as :string {format: "#.0000"} ++ '"'
^
Cannot coerce a :null to a :number
(com.mulesoft.weave.mule.exception.WeaveExecutionException). Message payload is of type: String
理想的なシナリオはここで反復内のNULL値を無視することになるdataweaveはそのままの通りである:
ここで%output application/java
%var skuLookup = flowVars.SSRCreateStarshipItems groupBy $.sku
---
flowVars.SSRGetOrderItems map ({
($.itemid) : '"' ++ skuLookup[$.sku][0].qty as :number as :string
{format: "#.0000"} ++ '"'
})
私の理想的なソリューションです、しかし私はそれが動作するように取得するように見えるカント:
%output application/java
%var skuLookup = flowVars.SSRCreateStarshipItems groupBy $.sku
---
flowVars.SSRGetOrderItems map ({
($.itemid) : '"' ++ skuLookup[$.sku][0].qty as :number as :string
{format: "#.0000"} ++ '"'
}) when skuLookup[$.sku][0].qty != null