2016-08-01 21 views
0

ich auf einer Sabber-Datei mit dem folgenden Code arbeite:Fehler in Sabber-Datei: Eingabe Mismatch

rule "test rule" 
    @RuleNumber(1) 
    @RuleMessage("data mismatch") 
when 
    $myObj : MyObj($localVal1: val1) 

    $dataMismatch: Boolean() from ($localVal1 == null) 
    eval $dataMismatch 
then 
    //do something 
end 

Ich halte den Fehler nicht übereinstimmen Eingang ‚$ dataMismatch‘ in der Regel immer, kehrte Parser eine Null-Paket

Weiß jemand wo ich falsch liege?

Danke!

+1

Nicht Ihr Problem, aber die Syntax des 'eval' CE erfordert Klammern. Überprüfen Sie das Handbuch. – laune

Antwort

0

Sofern Sie nicht von Zeilen Code geschrieben bezahlt, sollten Sie verwenden: (. Ein Blick in Syntaxfehler nicht zuverlässig durchgeführt werden, ohne dass die geifert Version zu wissen, was Sie nicht zur Verfügung gestellt haben)

rule "test rule" 
@RuleNumber(1) 
@RuleMessage("data mismatch") 
when 
    $myObj : MyObj(val1 == null) 
then 
    //do something 
end