2014-12-05 3 views

Antwort

0

Dies scheint immer noch in der allerletzten Version von Mule nach dieser code.

Das wird nicht funktionieren, wenn Sie an einer Version < als 3,4

+1

Ich benutze 3.5.1. # [payload == null] schlägt fehl, wenn Payload NullPayload ist –

1

dies zu überprüfen Versuchen sind:

#[payload == empty]

+0

Wie in Collection.isEmpty()? Meine Nutzlast ist keine Sammlung, daher gibt es keine Methode isEmpty(). Hast du das gleiche Problem mit == null? Ich kann das Problem umgehen, indem ich instanceof benutze. Das Hauptproblem ist, dass ich in der Lage sein sollte == null –

8

In der Theorie sollte diese festgelegt werden, aber es doesn‘ t sieht so aus. Ich verwende CE 3.4.0 und der Ausdruck #[payload == null] funktioniert nicht für NullPayload.

Ich habe this link gefunden, das zeigt, wie Sie überprüfen, ob Nutzlast NullPayload richtig ist:

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

Ich brauchte eigentlich zu wissen, ob Nutzlast war nichtNullPayload, so mein Ausdruck war:

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

Funktioniert wie ein Charme. :)

+0

Dank @mathielo, ich wurde verrückt. Die [MULE-6427] (https://www.mulesoft.org/jira/browse/MULE-6427) sagte, dass sie repariert wurde und sogar ihre [MEL Ausdrucksseite] (http://www.mulesoft.org/documentation/ display/current/Mule + Ausdruck + Sprache + Tipps) sagt, dass Sie in der Lage sein sollten, '# [payload == null]' zu verwenden, aber nur Ihre Lösung funktioniert für mich. Vielen Dank nochmal! –

+0

Danke, du hast mir geholfen :) Mulesoft ist sehr schlecht dokumentiert :( – dmydlarz

+0

Perfekt, es funktioniert – Stefano

1

Dies funktioniert auf Version 3.5: #[payload is NullPayload]

3

In Mule 3.7 (Studio 5.2) für eine NullPayload, #[payload == null] jetzt kehrt true. Interessanterweise gibt #[payload is NullPayload]false zurück.