为什么在过滤器调解器中我无法检查 属性 的值是否小于或等于特定值?保存时出现语法错误
Why in a filter mediator I can't check if the value of a property is less or equal to a specific value? Syntax error when I save
我是 WSO2 ESB 的新手,我正面临这个与一个简单任务相关的奇怪问题:检查 属性(具有数值)是否是小于或等于一个数字。
检查它是否相等我没有问题并且工作正常:
<property expression="$trp:X-Rate-Limit-Remaining" name="X-Rate-Limit-Remaining-Value" scope="default" type="STRING"/>
<filter xpath="get-property('X-Rate-Limit-Remaining-Value')=1">
<then>
<log description="GLIS_WAIT" level="custom" separator="-">
<property name="GLIS_WAIT" value="'WAIT'"/>
</log>
</then>
<else>
<log description="GLIS_NO_WAIT" level="custom" separator="-">
<property name="GLIS_NO_WAIT" value="'NO WAIT'"/>
</log>
</else>
</filter>
但是如果我尝试检查这个 属性 是否小于或等于数字 1,这样:
<filter xpath="get-property('X-Rate-Limit-Remaining-Value')<=1">
当我保存 Eclipse 时给我一个语法错误:
点击 "Show Details" 按钮我得到:
(如果我无论如何保存我在 Carbon 上部署应用程序时收到错误)
所以问题似乎与 < 字符有关,也许它被解释为标签打开,也许我必须以某种方式转义它...
我不知道。我认为检查 属性 值是否小于或等于特定值应该是一项简单的任务,但我做不到。
我的代码有什么问题?我错过了什么?我该如何解决?
您只需将 <
替换为 <
或将 '<=' 替换为 ≤
我是 WSO2 ESB 的新手,我正面临这个与一个简单任务相关的奇怪问题:检查 属性(具有数值)是否是小于或等于一个数字。
检查它是否相等我没有问题并且工作正常:
<property expression="$trp:X-Rate-Limit-Remaining" name="X-Rate-Limit-Remaining-Value" scope="default" type="STRING"/>
<filter xpath="get-property('X-Rate-Limit-Remaining-Value')=1">
<then>
<log description="GLIS_WAIT" level="custom" separator="-">
<property name="GLIS_WAIT" value="'WAIT'"/>
</log>
</then>
<else>
<log description="GLIS_NO_WAIT" level="custom" separator="-">
<property name="GLIS_NO_WAIT" value="'NO WAIT'"/>
</log>
</else>
</filter>
但是如果我尝试检查这个 属性 是否小于或等于数字 1,这样:
<filter xpath="get-property('X-Rate-Limit-Remaining-Value')<=1">
当我保存 Eclipse 时给我一个语法错误:
点击 "Show Details" 按钮我得到:
(如果我无论如何保存我在 Carbon 上部署应用程序时收到错误)
所以问题似乎与 < 字符有关,也许它被解释为标签打开,也许我必须以某种方式转义它...
我不知道。我认为检查 属性 值是否小于或等于特定值应该是一项简单的任务,但我做不到。
我的代码有什么问题?我错过了什么?我该如何解决?
您只需将 <
替换为 <
或将 '<=' 替换为 ≤