1

DataWeave から出てくる xml の下の要素にアクセスしようとしています。それは私にヌル値を返します。

DataWeaveスクリプトは

%dw 1.0
%namespace ns0 urn:abc:dbc:Components
%output text/xml
---
ItemFee:{
    product_id:flowVars."Dept_id",
    TotalFees: sum payload.ns0#ItemResponse.ns0#Fees.*ns0#Fee.ns0#Fee
}

このデータウィーブの直後に、以下のメッセージを持つロガーノードがあります。

#[message.payload.ItemFee.TotalFees]

というエラーが表示されます

Execution of the expression "message.payload.ItemFee.TotalFees" failed. (org.mule.api.expression.ExpressionRuntimeException). Message payload is of type: WeaveMessageProcessor$WeaveOutputHandler

ここでもう 1 点言いたいことがあります。「Transform Message」の直後にロガーに以下のテキストを入力すると。メッセージは問題なくコンソールに出力されました。しかし、xml メッセージの要素にアクセスできませんでした。#[message.payloadAs(java.lang.String)]

4

2 に答える 2

3

その MEL 構文は、Java オブジェクトでのみ機能します。出力は XML であるため、xpath3MEL 関数を使用する必要があります: https://docs.mulesoft.com/mule-user-guide/v/3.7/xpath#the-xpath3-function

何かのようなもの:

#[xpath3('//ItemFee/TotalFees').text]
于 2015-12-18T20:19:47.300 に答える