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.
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.
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 consultar se ele contém um cookie denominado My_Cookie_Name, com um valor My_Cookie_Value. Para testar a presença ou ausência de um cookie em particular, utilize uma das expressões a seguir:
|
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 ou valor de um cabeçalho. 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 (roteador on-demand) 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:
|
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]]].
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 Extended Deployment suporta esse 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 |
Dependendo do operador escolhido, digite um valor para a subexpressão que você deseja criar.
Gere a subexpressão como um resultado do operando, operador e valores que você especificou.
Copie e cole essa subexpressão em sua regra.