2016-04-27 12 views
0
nicht

Könnte mir bitte jemand sagen, was mit diesem MEL falsch:MuleSoft MEL Ausdruck arbeiten

#[payload[0].SPREMRG_RELIG_PREF.isEmpty() ? flowvars.ReligiousPreference = 'NONE' : flowvars.ReligiousPreference = payload[0].SPREMRG_RELIG_PREF] 

Danach dort führt kein ReligiousPreference var in Debugger angezeigt werden und schließlich, wenn ich die JSON an den Client zurückgeben, es ist auf null gesetzt.

Ich benutze Mule 5.4.2.

Danke ...

Antwort

0

Ich nehme an, Sie erstellen die Flowvar vor dieser MEL! Können Sie mir den Wert dieses Ausdrucks "Nutzlast [0] .SPREMRG_RELIG_PREF" sagen? Ist Null?

+0

Nutzlast [0] .SPREMRG_RELIG_PREF, in meinem speziellen Testfall, katholisch ist. Dies sind Daten, die aus einer Oracle-Tabelle geladen werden. Wenn im Tabellenfeld kein Eintrag vorhanden ist, ist der Wert null. –

+0

Jim, der Wert einer Variablen darf nicht null sein! Das ist der Grund, weil Sie die Variable nicht sehen. Versuchen Sie einen anderen Wert (distinct null) zu setzen! –

+0

Joaquin Ich weiß es zu schätzen, dass Sie versuchen mir zu helfen, aber ich verstehe nicht. Manchmal ist dieser Wert in der Datenbank null, aber wie dokumentiert sollte die isEmpty() -Methode damit umgehen. Unabhängig davon, ob das Problem irgendwo null war, wenn der Wert "katholisch" ist, sollte es funktionieren. Was vermisse ich? –

0

Umformulierung die Anweisung wie folgt für Sie deutlich machen, was los ist auf

#[flowvars.ReligiousPreference = payload[0].?SPREMRG_RELIG_PREF or 'NONE']