2014-12-05 10 views

risposta

0

Questo sembra essere ancora vero nella versione molto più recente di Mule come da questo code.

Questo non funzionerà se si è in una versione < di 3,4

+1

Sto usando 3.5.1. # [payload == null] fallisce se il payload è NullPayload –

1

Provate a controllare:

#[payload == empty]

+0

As in Collection.isEmpty()? Il mio payload non è una collezione quindi non ci sarà alcun metodo isEmpty(). Hai lo stesso problema con == null allora? Posso aggirare il problema usando instanceof. Il problema principale è che dovrei essere in grado di usare == null –

8

In teoria, questo dovrebbe essere fissato, ma doesn' t sembra così. Sto usando CE 3.4.0 e l'espressione #[payload == null] non funziona per NullPayload.

ho trovato this link che mostra come controllare se carico utile è NullPayload correttamente:

#[payload is org.mule.transport.NullPayload] 

in realtà ho bisogno di sapere se era carico nonNullPayload, quindi la mia espressione era:

#[!(payload is org.mule.transport.NullPayload)] 

Funziona come un fascino. :)

+0

Grazie @mathielo, stavo impazzendo. Il [MULE-6427] (https://www.mulesoft.org/jira/browse/MULE-6427) afferma che è stato corretto e anche la loro [pagina di espressione MEL] (http://www.mulesoft.org/documentation/ display/current/Mule + Expression + Language + Tips) dice che dovresti essere in grado di usare '# [payload == null]' ma solo la tua soluzione funziona per me. Molte grazie ancora! –

+0

Grazie, mi hai aiutato :) Mulesoft è molto povero documentato :( – dmydlarz

+0

Perfetto, funziona – Stefano

1

questo funziona su versione 3.5: #[payload is NullPayload]

3

In Mule 3.7, (Studio 5.2) per un NullPayload, #[payload == null] ora restituisce true. È interessante notare che #[payload is NullPayload] restituisce false.

Problemi correlati