2017-02-02 1 views
0

Ich habe meine bis erfolgreich, wie unten, aber immer noch, obwohl ich eine Antwort 200 erhalten es versucht, den Flow "Test" wieder zurückzurufen.Mule Untilsuccessful Fehler Ausdruck funktioniert nicht

<until-successful maxRetries="2" millisBetweenRetries="1500" failureExpression="#[message.inboundProperties['http.status'] != 200 or 202 or 500]" synchronous="true" doc:name="Until Successful"> 
    <flow-ref name="test" doc:name="test"/> 
</until-successful> 

Wenn ich auf diese Weise nur einen Code geben es funktioniert gut

<until-successful maxRetries="2" millisBetweenRetries="1500" failureExpression="#[message.inboundProperties['http.status'] != 200]" synchronous="true" doc:name="Until Successful"> 
     <flow-ref name="test" doc:name="test"/> 

</until-successful> 

Ich habe versucht, den Ausdruck zu geben als auch folgt, aber die Arbeit nicht

failureExpression="#[message.inboundProperties['http.status'] != 200 || message.inboundProperties['http.status'] !=202]" 

Kann jemand Bitte helfen Sie mir mit der Syntax

Antwort

1

Ihr Ausdruck sagt Status! = 200 || Status! = 202 dh bei Status = 200 scheitert die zweite Bedingung und bei Status = 202 scheitert die erste Bedingung

was Sie tun könnten, ist zu definieren: fail is wenn Status! = 200 AND Status! = 202 UND Status! = 500

failureExpression="#[message.inboundProperties['http.status'] != 200 && #[message.inboundProperties['http.status'] != 202 && #[message.inboundProperties['http.status'] != 500]" 
+0

Richtig !!! mein schlechter ... Danke für die Hilfe :) – Pathfinder

+0

Es funktionierte, wenn wir auf diese Weise schreiben failureExpression = "# [message.inboundProperties ['http.status']! = 200 && message.inboundProperties ['http.status']! = 202 && message.inboundProperties ['http.status']! = 500] " – Pathfinder

Verwandte Themen