2016-06-20 10 views
0

Ich möchte den Klassennamen meiner Nutzlast in einer MUnit-Assert extrahieren, damit ich überprüfen kann, ob die Nutzlast immer vom richtigen Typ ist. Ich habe 2 MEL-Ausdrücke ausprobiert, aber beide geben im MEL-Ausdruck-Evaluator null aus. Das Lustige daran ist, dass wenn ich den .name Teil des Ausdrucks entferne, dann sehe ich einen Schlüssel namens "name" mit dem Wert, den ich brauche. Irgendwelche Ideen?Mulesoft MEL-Ausdruck Get String Wert von Payload Datentyp

payload.class.name 
message.dataType.type.name 

Antwort

2

Eine Möglichkeit ist: # [. Payload.getClass() getSimpleName()]

+0

Funktioniert prima, danke! Geben Sie nicht den vollständigen Klassennamen für die Aufzeichnung, aber gut genug für meine Zwecke. Ich bin sicher, dass es eine äquivalente Methode für den vollständigen Klassennamen gibt. – CamJohnson26

+0

Sie können getCanonicalName() für den vollständigen Klassennamen verwenden. getSimpleName() wird Ihnen zum Beispiel "String" geben, während CanonicalName "java.lang.String" geben wird. Es gibt auch andere Optionen, aber in den meisten Fällen sollte das für Sie gelten. – dlb