2

In my Mule flow I want to use a ternary operation in a message enrichment element.

For example, here is the existing line that throws an error when the source is null:


        <enricher doc:name="Add revision number" target="#[variable:rev]" source="#[json:_rev]">

Here is the line when trying to use the ternary operation:


        <enricher doc:name="Add revision number" target="#[variable:rev]" source="#[json:_rev == null ? '' : json:_rev]">

If a null is returned from the enrichment source, I want to return an empty string instead. I don't want errors to be thrown when Mule tries to use the 'setProperty()' function to assign a null value.

Currently the ternary example works, but it returns 'false' (not as a string).

4

1 に答える 1

2

これは Mule Expression Language (MEL) ではなく、三項式をサポートしていない古いエバリュエーター構文です。

編集:

MELチートシートを入手して、 JSON処理がどのように行われるかを確認することをお勧めします.

あなたが提供した部分的な情報から、HTTP アウトバウンド エンドポイントの応答フェーズで が必要になると思いますjson-to-object-transformer(JSON を取得しますか?)。その後、エンリッチャーで MEL 三項式を使用できます。

于 2013-01-09T19:12:37.410 に答える