Construtor de Subexpressões

Utilize o construtor de subexpressões para construir condições de regras complexas de subexpressões utilizando AND, OR, NOT e agrupamento parentético. O construtor de regras valida a regra quando você aplica as alterações e o alerta para os parênteses não correspondidos e os operadores de lógica não suportados.

Para visualizar esta página do console administrativo, clique em Servidores > On Demand Routers > nome_do_odr> Propriedades do On Demand Router > Políticas de Serviço de Cluster do Servidor Genérico > nome_da_classe_de_trabalho > Incluir Regra > Construtor de Subexpressões.

Para modificar regras com o Construtor de Subexpressões, você deve ter privilégios administrativos de administrador.

Selecionar Operando

Dependendo do protocolo selecionado, são exibidos operandos diferentes. A tabela a seguir inclui os nomes dos operandos, como exibidos no console, o operando real como aparecerá na expressão, os protocolos válidos por operando e a descrição para cada operando.

Tabela 1. Operandos e suas Descrições
Operando Exibido Operando Protocolos Válidos Descrição
Nome do Aplicativo application IIOP O nome do aplicativo onde o EJB está contido.
Host Cliente clienthost HTTP, SOAP, IIOP O nome do host cliente completo. Este é o valor do nome do host do comando IP (Internet Protocol). Este operando não suporta operadores numéricos, como >, >=, <, <=.
Porta de Cliente clientport IIOP O nome da porta do cliente.
Cliente IPV4 clientipv4 HTTP, SOAP O endereço do Protocolo da Internet Versão 4 do cliente, utilizando o tipo de endereço com pontos: n.n.n.n
Cliente IPV6 clientipv6 HTTP, SOAP O tipo de endereço do Protocolo da Internet Versão 6 de 128 bits x:x:x:x:x:x:x:x do computador cliente.
Nome do cabeçalho do cookie cookie$<name> HTTP, SOAP Um nome de cookie. Por exemplo, a expressão cookie$My_Cookie_Name='My_Cookie_Value' testa um pedido para ver se ele contém um cookie denominado My_Cookie_Name com um valor de My_Cookie_Value. Para testar a presença ou ausência de um cookie em particular, utilize uma das expressões a seguir:
  • cookie$MyCookieName IS NOT NULL
  • cookie$MyCookieName IS NULL
Nome do módulo EJB ejbmodule IIOP O nome do módulo de um EJB.
Nome de EJB ejbname IIOP O nome de um EJB.
Nome do método EJB ejbmethod IIOP O nome de um método no EJB.
IDs de Grupos gids$<name> HTTP, SOAP O ID do grupo do emissor de pedido.
Método HTTP HTTPMethod HTTP, SOAP O método HTTP para o pedido. Os valores possíveis são POST, GET, PUT e DELETE.
Tipo MIME MIMEType HTTP, SOAP O tipo de MIME do pedido.
Porta port HTTP, SOAP, IIOP A porta de atendimento em que o serviço é fornecido no host.
Protocolo protocolo HTTP, SOAP O protocolo de comunicações que transmite o pedido. Os protocolos suportados atualmente são HTTP, HTTPS, SOAP e SOAPS
Nome do cabeçalho do pedido header$<name> HTTP, SOAP

O nome e o valor de um cabeçalho. Por exemplo, a expressão header$Host='localhost' testa um pedido para ver se ele contém um cabeçalho do host HTTP com um valor de host local. Para testar a presença ou ausência do cabeçalho do host, utilize uma das seguintes expressões:

header$Host IS NOT NULL ,header$Host IS NULL

Nome do parâmetro da consulta do pedido queryparm$<name> HTTP, SOAP Um nome do parâmetro de consulta especificado na URL de pedido. Para cada pedido, existe um mapa de par nome/valor de parâmetros de consulta, se eles existem. O ODR (on-demand router) utiliza o nome de parâmetro de consulta de pedido como uma chave para o mapa de parâmetro e, se ele existe, extrai o valor para avaliar a expressão da regra. Se a regra corresponder, então, a ação especificada será executada. Caso contrário, a ação padrão para a classe de trabalho na qual a expressão é definida será utilizada.
Por exemplo, a expressão queryparm$timezone=’EST’ testa um pedido para ver se ele contém o parâmetro de consulta HTTP denominado timezone com um valor de EST. Para testar a presença ou ausência de um parâmetro de consulta, utilize um dos seguintes comandos:
  • queryparm$timezone IS NOT NULL
  • queryparm$timezone IS NULL
Atribuições roles$<name> HTTP, SOAP A função do emissor de pedido.
Host do Servidor serverhost HTTP, SOAP, IIOP O nome completo do host do servidor. Este operando não suporta operadores numéricos como >, >=, <, <=.
Servidor IPV4 serveripv4 HTTP, SOAP O endereço IP da máquina servidor utilizando o tipo de endereço quadrangular pontilhado IPv4 n.n.n.n.
Servidor IPV6 serveripv6 HTTP, SOAP O tipo de endereço IPv6 de 128 bits de x:x:x:x:x:x:x:x seguindo o RFC 1924 da máquina servidor.
Tempo time HTTP, SOAP, IIOP
O operando de tempo tem o seguinte formato: [dayOfWeek[/dayOfMonth[/month[/year]]]::][hour[:minute[:second]]].
  • dayofWeek os valores incluem Dom, Seg, Ter, Qua, Qui, Sex, Sab.
  • dayOfMonth inclui os valores 1 a 31.
  • month é o valor numérico que representa o mês, iniciando com janeiro como 1 e dezembro como 12. Por exemplo, um valor numérico 5 representa o mês de maio.
  • year é o ano de quatro dígitos. Por exemplo, 2007.
  • hour é a hora do dia no formato de 24 horas.
  • minute são inteiros num intervalo de 0 a 59.
  • second são inteiros num intervalo de 0 a 59.

A barra (/) é utilizada para separar parâmetros de data, os dois pontos duplos (::) são utilizados para separar os parâmetros de data e hora, e os dois pontos (:) são utilizados para separar a hora dos parâmetros do dia. Observe que esse é o resultado booleano da regra inteira no qual o operando de tempo é utilizado para determinar a ação de roteamento adotada.

Id do usuário uid$<name> HTTP, SOAP O ID do usuário do emissor de pedido.
Portal virtual virtualportal HTTP, SOAP Portais virtuais são criados dentro do WebSphere Portal Server e o WebSphere Virtual Enterprise suporta este operando para melhor integração com o WebSphere Portal Server. O portal virtual é a URL de pedido menos a raiz de contexto para o módulo da Web do aplicativo WebSphere Portal. Se um determinado pedido corresponde ao portal virtual definido, então, a ação de roteamento definida para essa regra é adotada.
Expressão do XPath xpathexpr SOAP

A expressão de cadeia XPath possui um campo necessário, utilizado para conter a expressão XPath e um campo opcional para a definição do(s) espaço(s) de nomes local(is). Se todos os espaços de nomes contidos na expressão XPath forem padrão, então o segundo campo pode ser opcional. Se há vários espaços de nomes locais, então separe cada um com vírgula (,). O seguinte é um exemplo de um xpathexpr com uma definição de espaço de nomes local:

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

Operador
  • = O operador de igualdade expressa uma correspondência que faz distinção entre maiúsculas e minúsculas.
  • <> O operador diferente de expressa que o valor do operando não é igual ao valor digitado.
  • > O operador maior que deve ser utilizado com números.
  • >= O operador maior que ou igual a deve ser utilizado com números.
  • < O operador menor que deve ser utilizado com números.
  • <= O operador menor que ou igual a deve ser utilizado com números.
  • AND: Para xx AND yy, expressa correspondências que contêm xx, yy.
  • BETWEEN: Esse operador é utilizado com AND para selecionar um intervalo de valores incluindo o primeiro valor ou inferior e o último valor ou superior. Juntos eles operam em números e datas.
  • EXISTS: Esse operador Booleano verifica um operando ou o resultado de uma subexpressão composta, por exemplo, enquanto verifica determinados atributos de elemento do cabeçalho HTTP.
  • IN: Esse operador expressa um operando com vários valores em uma única expressão. Por exemplo, se, para um operando chamado port, você desejar expressar que o valor da porta pode ser qualquer um ou todos os valores, como 9080, 9090, 9091, o fragmento da expressão será port IN (9080,9090,9091). Como os valores dentro dos suportes são expressos depende do tipo de dados da porta. Se a porta for um inteiro, a sintaxe correta será os valores sem aspas. Se a porta for uma cadeia, a sintaxe correta será port IN (‘9080’, ‘9090’, ‘9091’).
  • IS NULL: Esse operador expressa que a validação da consulta mostra que o parâmetro solicitado não existe.
  • IS NOT NULL: Esse operador expressa que a validação da consulta mostra que o parâmetro solicitado existe.
  • LIKE: Esse padrão expressa a correspondência padrão dos valores de operando de cadeia. O valor deve conter o caractere curinga de sinal de porcentagem (%) na posição em que iniciar a correspondência padrão. Por exemplo, a expressão host LIKE %blanca fará a correspondência da palavra blanca ou de qualquer outra palavra que termine em blanca, enquanto a expressão host LIKE blanca% fará a correspondência da palavra blanca ou de qualquer outra palavra que comece com blanca e a expressão host LIKE %blanca% fará a correspondência da palavra blanca ou de qualquer palavra que tenha blanca embutida nela.
  • NOT: Para NOT xx, esse operador expressa as correspondências não contêm xx.
  • OR: Para xx OR yy, esse operador expressa as correspondências que contêm xx, yy.
Valor

Dependendo do operador escolhido, digite um valor para a subexpressão que você deseja criar.

Construir Subexpressão

Gere a subexpressão como um resultado do operando, operador e valores que você especificou.

Subexpressão Gerada

Copie e cole essa subexpressão em sua regra.




Centro de informações do WebSphere Virtual Enterprise (on-line)

Informações relacionadas
Políticas de Roteamento do On Demand Router
Políticas de Serviço do On Demand Router
Definir Associações e Regras de Classe de Trabalho

wc_rulebuilder_detail