通过 AND、OR、NOT 和括号分组,可以使用子表达式构建器来根据子表达式构建复杂的规则条件。应用更改时,规则构建器将对规则进行验证。如果找到未配对的括号以及不支持的逻辑运算符,那么将发出警报。
要查看此管理控制台页面,请单击服务器 > 随需应变路由器 > odr_name> HTTP 随需应变路由器属性 > 路由策略 HTTP 规则 > 添加 > 子表达式构建器。
要使用规则构建器来修改规则,您必须拥有管理员管理特权。
根据所选协议的不同,将显示不同的操作数。下表包括了控制台中显示的操作数名称、表达式中出现的实际操作数、每个操作数的有效协议以及每个操作数的描述。
请求变量 | 有效协议 | 描述 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
application |
IIOP | 包含 EJB 的企业应用程序的名称。 | ||||||||||||||||||
clienthost | HTTP SOAP IIOP SIP |
标准客户机主机名。这是因特网协议(IP)命令主机名的值。此操作数不支持 >、>=、< 和 <= 之类的数字运算符。 | ||||||||||||||||||
clientport |
IIOP | 客户机端口名称。 | ||||||||||||||||||
clientipv4 | HTTP SOAP SIP |
客户机的 IP 地址,使用因特网协议版本 4(IPv4) 点分四段地址类型 n.n.n.n。 | ||||||||||||||||||
clientipv6 | HTTP SOAP SIP |
因特网协议版本 6(IPv6)128 位地址类型 x:x:x:x:x:x:x:x,符合客户机的 Request for Comments 1924(RFC 1924)。 | ||||||||||||||||||
Contact header | SIP |
“联系人”头字段。 |
||||||||||||||||||
Contact URI | SIP |
“联系人”头字段的 URI。 |
||||||||||||||||||
cookie$<name> | HTTP SOAP |
cookie 名称。例如,表达式
cookie$My_Cookie_Name='My_Cookie_Value'
会测试请求,以了解它是否包含名为
My_Cookie_Name
并且值为 My_Cookie_Value 的 cookie。要测试特定 cookie 是否存在,请使用下列其中一个表达式:cookie$MyCookieName IS NOT NULL cookie$MyCookieName IS NULL |
||||||||||||||||||
ejbmodule |
IIOP | EJB 的模块名称。 | ||||||||||||||||||
ejbname |
IIOP | EJB 的名称。 | ||||||||||||||||||
ejbmethod |
IIOP | EJB 内的方法的名称。 | ||||||||||||||||||
From header | SIP |
“源”头字段。 |
||||||||||||||||||
From header display name | SIP |
“源”头字段中的显示名称。 |
||||||||||||||||||
From URI | SIP |
“源”头字段的 URI。 |
||||||||||||||||||
From URI host | SIP |
“源”头字段中的主机。 |
||||||||||||||||||
From URI port | SIP |
“源”头字段的 URI 中的端口。 |
||||||||||||||||||
From URI user | SIP |
“源”头字段中的用户。 |
||||||||||||||||||
header$<name> | HTTP SOAP SIP |
头的名称或值。例如,表达式
header$Host='localhost' 会测试请求以了解它是否包含值为
localhost
的 HTTP 主机头。要测试主机头是否存在,请使用下列其中一个表达式:header$Host IS NOT NULL header$Host IS NULL |
||||||||||||||||||
HTTPMethod | HTTP SOAP |
请求的 HTTP 方法。可能的值包括 POST、GET、PUT 和 DELETE。 | ||||||||||||||||||
MIMEType | HTTP SOAP |
请求的 MIME 类型。 | ||||||||||||||||||
operation | SOAP | Web service 操作的名称。 | ||||||||||||||||||
percentage$<val> | HTTP SOAP IIOP SIP |
百分比操作数对时间的固定百分比求值为 true。例如,percentage$50 对时间的平均值 50% 求值为 true。 | ||||||||||||||||||
port | HTTP SOAP IIOP SIP |
接收到请求的侦听端口。 | ||||||||||||||||||
protocol | HTTP SOAP |
传送请求的通信协议。当前支持的协议包括 HTTP、HTTPS、SOAP 和 SOAPS。 | ||||||||||||||||||
queryparm$<name> | HTTP SOAP |
头的名称或值。例如,表达式
queryparm$timezone='EST' 测试请求以了解该请求是否包含名为
timezone 并且值为
EST 的 HTTP 查询参数。要测试查询参数是否存在,请使用下列其中一种格式:queryparm$timezone IS NOT NULL queryparm$timezone IS NULL |
||||||||||||||||||
rampup$<startTime>$<completionTime> | HTTP SOAP IIOP SIP |
rampup 操作数对时间的可变百分比求值为
true。它在 <startTime>
之前一直求值为
false,在 <completionTime>
之后一直求值为 true。从
<startTime> 至
<completionTime>
的时间内,它对线性增长的百分比求值为 true。 <startTime> 和 <completionTime> 的格式为 day/month/year::hour:min:sec。 其中 day 表示月份中的日期,month 表示月份(Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov 和 Dec),year 是用 4 位数字表示的年份,hour 是用 2 位数字表示的 24 小时制的小时,min 和 sec 分别是用 2 位数字值表示的分钟和秒。例如, rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 开始在 2007 年 1 月 1 日上午 8 点偶然求值为 true,并且在同一天的下午 5 点 ramp up 完成时一直求值为 true。 |
||||||||||||||||||
Request transport | SIP |
The transport of the request. |
||||||||||||||||||
Request URI | SIP |
请求 URI。 |
||||||||||||||||||
Request URI host | SIP |
请求 URI 中的主机。 |
||||||||||||||||||
Request URI port | SIP |
请求 URI 中的端口。 |
||||||||||||||||||
Request URI user | SIP |
请求 URI 中的用户。 |
||||||||||||||||||
Scheme of From header | SIP |
“源”头字段的模式。 |
||||||||||||||||||
Scheme of To header | SIP |
“目标”头字段的模式。 |
||||||||||||||||||
Scheme of URI | SIP |
URI 的模式。 |
||||||||||||||||||
serverhost | HTTP SOAP IIOP SIP |
服务器的标准主机名。此操作数不支持 >、>=、< 和 <= 之类的数字运算符。 | ||||||||||||||||||
serveripv4 | HTTP SOAP SIP |
服务器的 IP 地址,使用 IPv4 点分四段地址类型 n.n.n.n。 | ||||||||||||||||||
serveripv6 | HTTP SOAP SIP |
IPv6 128 位地址类型 x:x:x:x:x:x:x:x,遵循服务器的 RFC 1924 协议。 | ||||||||||||||||||
service | SOAP |
web service 的名称。 | ||||||||||||||||||
SIP 方法 | SIP |
请求的方法。可能的值包括 INVITE、TRYING、RINGING、ACK、OK 和 BYE。如果消息并非请求,那么此操作数返回 NULL。 |
||||||||||||||||||
响应代码 | SIP |
响应的响应代码。如果消息并非响应,那么此操作数返回 -1。 |
||||||||||||||||||
time | HTTP SOAP IIOP |
此操作数用于定义必须处理给定请求的当日的日期和时间。两个可选字段是 StartTime 和 EndTime。如果在该已定义窗口外接收到请求,那么不会处理该请求。 “开始时间和结束时间”字段都必须使用以下格式:dayOfWeek/dayOfMonth/month/year::hour:minute:second。 例如,2007 年 4 月 11 日下午 1:03:45 指定为: Thu/11/Apr/2007::13:03:45 任何字段都可使用值为 * 的通配符。例如,每个月的第一天指定为 */1。 dayofWeek 值为 Sun、Mon、Tue、Wed、Thu、Fri、Sat,而 dayOfMonth 值的范围是 1 到 31。 month 值是表示 12 个月的非数字值:Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov 和 Dec。 year 值由表示年份的四位数字组成。例如,2007。 hour 值是以 24 小时制表示的当天小时。例如,8am 表示为 ::8。minute 和 second 是范围在 0 到 59 之间的整数。 正斜杠(/)用来分隔日期参数,双冒号(::)用来分隔日期和时间参数,冒号(:)用来分隔时间参数。请注意,由整个规则的布尔结果(其中使用了 time 操作数)确定所执行的路由操作。 |
||||||||||||||||||
To client host | SIP |
“目标”头字段中的客户机主机。 |
||||||||||||||||||
To header | SIP |
“目标”头字段。 |
||||||||||||||||||
To header display name | SIP |
“目标”头字段中的显示名称。 |
||||||||||||||||||
To URI | SIP |
“目标”头字段的 URI。 |
||||||||||||||||||
To URI host | SIP |
“目标”头字段的 URI 中的端口。 |
||||||||||||||||||
To URI user | SIP |
“目标”头字段中的用户。 |
||||||||||||||||||
virtual host | HTTP SOAP |
虚拟门户网站是在 WebSphere® Portal Server 中创建的,WebSphere Extended Deployment 支持此操作数以便更好地与 WebSphere Portal Server 集成。虚拟端口是请求 URL 减去 WebSphere Portal 应用程序的 Web 模块上下文根后的结果。如果给定的请求与所定义的虚拟门户网站匹配,那么将执行为该规则定义的路由操作。 | ||||||||||||||||||
xpathexpr | SOAP |
XPath 字符串表达式具有用于包含 XPath 表达式的必需字段和用于定义局部名称空间的可选字段。如果 XPath 表达式中包含的所有名称空间都是标准名称空间,那么第二个字段是可选字段。如果有多个局部名称空间,那么请使用逗号(,)进行分隔。以下是包含一个局部名称空间定义的 xpathexpr 示例:xpathexpr$/soap:Envelope/soap:Body/m:getTimeZone/n:clientId$m\\=http://test.classify.ws.ibm.com,n\\=http://test2.classify.ws.ibm.com = \\'1000\\' or operation IS NOT NULL 在先前表达式中,XPath 表达式为 /soap:Envelope/soap:Body/n:getTimeZone/n:clientId。它包含局部名称空间 n。所以,xpathexpr 的第二个字段定义为 n \\=http://test.classify.ws.ibm.com。美元符号($)用于指示字段定义的开始。两个反斜杠在此示例中是转义序列。第一个等号(=)已转义,原因是它包括在局部名称空间定义中,而第二个等号(=)是分类表达式中的运算符,不能进行转义。 以下是包含两个局部名称空间的 xpathexpr 示例: xpathexpr$/soap:Envelope/soap:Body/m:getTimeZone/n:clientId$m\\=http://test.classify.ws.ibm.com,n\\=http://test2.classify.ws.ibm.com = \\'1000\\' or operation IS NOT NULL 以下是 xpathexpr 的标准名称空间列表:
|
根据所选运算符的不同,输入要创建的子表达式的值。
根据已指定的操作数、运算符和值,生成子表达式。
单击以追加至规则面板上的框。