Воспользуйтесь компоновщиком подвыражений для создания сложных условий правил из подвыражений с помощью AND, OR, NOT и скобочной группировки. Компоновщик правил проверяет правило при применении изменений и предупреждает о наличии несоответствующих скобок и неподдерживаемых логических операторов.
Для просмотра данной страницы административной консоли выберите Серверы > Маршрутизаторы нагрузки > имя-odr> Свойства маршрутизатора нагрузки SIP > Правила SIP стратегии маршрутизации > Добавить > Компоновщик подвыражений.
Для того чтобы изменить правила с помощью компоновщика правил, необходимо обладать правами доступа администратора.
В зависимости от выбранного протокола, отображаются разные операнды. В приведенной ниже таблице представлены имена операндов, отображаемые в консоли, фактический операнд, употребляемый в выражении, допустимые протоколы для каждого операнда и описание каждого операнда.
Переменная запроса | Допустимые протоколы | Описание | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
application |
IIOP | Имя приложения J2EE, в котором содержится EJB. | ||||||||||||||||||
clienthost | HTTP SOAP IIOP SIP |
Полное имя хоста клиента. Это значение имени хоста в IP-команде. Этот операнд не поддерживает числовые операторы, такие как >, >=, <, <=. | ||||||||||||||||||
clientport |
IIOP | Имя порта клиента. | ||||||||||||||||||
clientipv4 | HTTP SOAP SIP |
IP-адрес компьютера клиента, использующего тип адреса IPv4 в виде четырех чисел, разделенных точками, - n.n.n.n. | ||||||||||||||||||
clientipv6 | HTTP SOAP SIP |
28-битовый тип адреса IPv6 в формате x:x:x:x:x:x:x:x, согласно RFC 1924 компьютера клиента. | ||||||||||||||||||
Заголовок Contact | SIP |
Поле заголовка Contact (Контакт). |
||||||||||||||||||
URI контакта | SIP |
URI поля заголовка Contact (Контакт). |
||||||||||||||||||
cookie$<имя> | HTTP SOAP |
Имя cookie. Например, выражение cookie$My_Cookie_Name='My_Cookie_Value' проверяет, содержится ли в запросе
cookie с именем My_Cookie_Name и значением
My_Cookie_Value. Для проверки на предмет отсутствия или наличия
определенной записи cookie используется одно из следующих выражений: cookie$MyCookieName IS NOT NULL cookie$MyCookieName IS NULL |
||||||||||||||||||
ejbmodule |
IIOP | Имя модуля EJB. | ||||||||||||||||||
ejbname |
IIOP | Имя EJB. | ||||||||||||||||||
ejbmethod |
IIOP | Имя метода в EJB. | ||||||||||||||||||
Заголовок From | SIP |
Поле заголовка From (Отправитель). |
||||||||||||||||||
Отображаемое имя заголовка From | SIP |
Отображаемое имя в поле заголовка From (Отправитель). |
||||||||||||||||||
С URI | SIP |
URI поля заголовка From (Отправитель). |
||||||||||||||||||
От хоста URI | SIP |
Хост в поле заголовка From (Отправитель). |
||||||||||||||||||
Из порта URI | SIP |
Порт в URI поля заголовка From (Отправитель). |
||||||||||||||||||
От пользователя URI | SIP |
Пользователь в поле заголовка From (Отправитель). |
||||||||||||||||||
header $<имя> | HTTP SOAP SIP |
Имя и значение заголовка. Например, выражение header$Host='localhost' проверяет, содержится ли в запросе заголовок хоста HTTP со значением localhost.
Для проверки на предмет отсутствия или наличия
заголовка хоста используется одно из следующих выражений: header$Host IS NOT NULL header$Host IS NULL |
||||||||||||||||||
HTTPMethod | HTTP SOAP |
Метод HTTP для запроса. Возможные значения: POST, GET, PUT и DELETE. | ||||||||||||||||||
MIMEType | HTTP SOAP |
Тип MIME запроса. | ||||||||||||||||||
operation | SOAP | Имя операции веб-службы. | ||||||||||||||||||
percentage$<значение> | HTTP SOAP IIOP SIP |
Операнд percentage обрабатывается как true, фиксированное процентное значение времени. Например, percentage$50 соответствует true в среднем 50% времени. | ||||||||||||||||||
port | HTTP SOAP IIOP SIP |
Порт приема, на который был получен запрос. | ||||||||||||||||||
protocol | HTTP SOAP |
Протокол связи, передающий запрос. В настоящее время поддерживаются протоколы: HTTP, HTTPS, SOAP и SOAPS. | ||||||||||||||||||
queryparm$<имя> | HTTP SOAP |
Имя и значение заголовка. Например, выражение queryparm$timezone='EST' проверяет, содержится ли в запросе параметр запроса
HTTP с именем timezone и значением EST. Для проверки на предмет отсутствия или наличия параметра запроса используется один из следующих форматов: queryparm$timezone IS NOT NULL queryparm$timezone IS NULL |
||||||||||||||||||
rampup$<startTime>$<completionTime> | HTTP SOAP IIOP SIP |
Операнд rampup обрабатывается как true,
переменное процентное значение времени. Он всегда оценивается как false до времени начала -<startTime> и как true после времени окончания -<completionTime>.
В течение промежутка времени от <startTime> до <completionTime>,
этот операнд обрабатывается как true, линейно возрастающее процентное значение. Формат значений времени начала и времени окончания (<startTime> и <completionTime>): день/месяц/год::час:мин:сек. где день соответствует числу месяца, месяц - одному из 12 месяцев: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, год - год в 4-значном формате, час - значение часа в 2-значном 24-часовом формате, мин и сек - 2-значные значения минут и секунд, соответственно.Например: rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 начинает периодически обрабатываться как true с 8 ч утра 1 января 2007 г. и всегда оценивается как true до окончания заданного периода, т.е. до 5 ч вечера того же дня. |
||||||||||||||||||
Транспорт запроса | SIP |
Транспорт запроса. |
||||||||||||||||||
Request URI | SIP |
URI запроса. |
||||||||||||||||||
Запрос хоста URI | SIP |
Хост в URI запроса. |
||||||||||||||||||
Порт URI запроса | SIP |
Порт в URI запроса. |
||||||||||||||||||
Пользователь URI запроса | SIP |
Пользователь в URI запроса. |
||||||||||||||||||
Схема заголовка From | SIP |
Схема поля заголовка From (Отправитель). |
||||||||||||||||||
Схема заголовка To | SIP |
Схема поля заголовка To (Получатель). |
||||||||||||||||||
Схема URI | SIP |
Схема URI. |
||||||||||||||||||
serverhost | HTTP SOAP IIOP SIP |
Полное имя хоста сервера. Этот операнд не поддерживает числовые операторы, такие как >, >=, <, <=. | ||||||||||||||||||
serveripv4 | HTTP SOAP SIP |
IP-адрес компьютера сервера, использующего тип адреса IPv4 в виде четырех чисел, разделенных точками - n.n.n.n. | ||||||||||||||||||
serveripv6 | HTTP SOAP SIP |
28-битовый тип адреса IPv6 в формате x:x:x:x:x:x:x:x, согласно RFC 1924 компьютера сервера. | ||||||||||||||||||
service | SOAP |
Имя веб-службы. | ||||||||||||||||||
Метод SIP | SIP |
Метод SIP для запроса. Возможные значения: INVITE, TRYING, RINGING, ACK, OK и BYE. Если сообщение не является запросом, этот операнд возвращает нулевое значение. |
||||||||||||||||||
Код ответа SIP | SIP |
Код ответа. Если сообщение не является ответом, этот операнд возвращает значение -1. |
||||||||||||||||||
time | HTTP SOAP IIOP |
Этот операнд используется для определения даты и времени суток, когда необходимо удовлетворить данный запрос. Два необязательных поля - это StartTime и EndTime (Время начала и Время окончания). Если запрос получен вне указанного временного промежутка, он не будет обрабатываться. Формат заполнения полей Время начала и Время окончания следующий: день-недели/число/месяц/год::час:мин:сек. Например, четверг, 11 апреля 2007 года, 1:03:45 дня обозначается так: Thu/11/Apr/2007::13:03:45 В любом поле допускается использование * в качестве символа подстановки. Например, 1-е число каждого месяца можно обозначить как */1. Значениями для дня-недели являются: Sun, Mon, Tue, Wed, Thu, Fri, Sat. Значения числа задаются в диапазоне от 1 до 31. Значение месяца является нечисловым и представляет собой один из 12 месяцев: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec. Значение года следует указывать в 4-значном формате. Например, 2007. Значение часа следует указывать в 24-часовом формате времени. Например, 8 ч утра обозначается как ::8. Минуты и секунды представляют собой целые значения в диапазоне от 0 до 59. Символ косой черты (/) используется для разделения параметров даты, два двоеточия (::) - для разделения значений даты и времени, а двоеточием (:) отделяются параметры времени суток. Обратите внимание на то, что это булевский результат правила в целом, в котором используется операнд time, определяющий выполняемое действие маршрутизации. |
||||||||||||||||||
На хост клиента | SIP |
Хост клиента в поле заголовка To (Получатель). |
||||||||||||||||||
Заголовок To | SIP |
Поле заголовка To. |
||||||||||||||||||
Отображаемое имя заголовка To | SIP |
Отображаемое имя в поле заголовка To (Получатель). |
||||||||||||||||||
На URI | SIP |
URI поля заголовка To (Получатель). |
||||||||||||||||||
Хосту URI | SIP |
Порт в URI поля заголовка To (Получатель). |
||||||||||||||||||
Пользователю URI | SIP |
Пользователь в поле заголовка To (Получатель). |
||||||||||||||||||
virtual host | HTTP SOAP |
Виртуальные порталы создаются в WebSphere® Portal Server, и WebSphere Extended Deployment поддерживает этот операнд для оптимальной интеграции с WebSphere Portal Server. Виртуальный порт - это URL запроса минус корневой контекст веб-модуля приложения WebSphere Portal. Если данный запрос соответствует заданному виртуальному порталу, выполняется действие маршрутизации, определенное для этого правила. | ||||||||||||||||||
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. Символ доллара ($) используется для обозначения начала определения поля. Двойные обратные косые черты в этом примере представляют собой escape-последовательность. Первый знак равенства (=) отделен escape-символом, поскольку является частью определения локального пространства имен, тогда как второй знак равенства (=) - это оператор в выражении классификации, который не следует отделять escape-символом. Ниже приводится пример выражения 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:
|
В зависимости от выбранного оператора, введите значение для подвыражения, которое вы собираетесь создать.
Генерирует подвыражение как результат операнда, оператора и указанных пользователем значений.
Щелкните для добавления в поле в панели правил.
WebSphere Virtual Enterprise Information Center (электронная справка)