Programma di creazione espressioni di regole HTTP

Utilizzare il programma di creazione sottoespressioni per creare condizioni di regole complesse da sottoespressioni utilizzando AND, OR, NOT e il raggruppamento parentetico. Il programma di creazione regole convalida la regola quando si applicano le modifiche e segnala se sono presenti parentesi discordanti e operatori logici non supportati.

Per visualizzare questa pagina della console di gestione, fare clic su Server > Router on demand >nome_rod> Proprietà router on demand HTTP > Regole HTTP politica di instradamento > Aggiungi > Programma di creazione sottoespressioni.

Per modificare le regole con il programma di creazione regole, è necessario disporre dei privilegi di amministratore.

Seleziona operando

Operandi delle politiche di instradamento e di servizio

In base al protocollo selezionato, verranno visualizzati operandi diversi. La seguente tabella comprende i nomi degli operandi così come sono visualizzati nella console, l'operando effettivo come apparirà nell'espressione, i protocolli validi per ciascun operando e la descrizione di ciascun operando.

Tabella 1. Operandi
Variabile richiesta Protocolli validi Descrizione

application

IIOP Il nome dell'applicazione enterprise contenente l'EJB.
clienthost

HTTP

SOAP

IIOP

SIP

Il nome host completo del client. È il valore del nome host del comando del protocollo Internet (IP). Questo operando non supporta operatori numerici come, ad esempio, >, >=, <, <=.

clientport

IIOP Il nome porta del client.
clientipv4

HTTP

SOAP

SIP

L'indirizzo IP del computer client che utilizza il tipo di indirizzo separato da 4 punti IPv4 (Internet Protocol version 4), n.n.n.n.
clientipv6

HTTP

SOAP

SIP

Il tipo di indirizzo IPv6 (Internet Protocol versione 6) a 128 bit x:x:x:x:x:x:x:x successivo alla richiesta di commenti 1924 (RFC 1924) del computer client.
Intestazione contatto

SIP

Il campo di intestazione Contatto.

URI contatto

SIP

L'URI del campo di intestazione Contatto.

cookie$<nome>

HTTP

SOAP

Un nome cookie. Ad esempio l'espressione cookie$Nome_Cookie='Valore_Cookie' verifica una richiesta per vedere se contiene un cookie denominato Nome_Cookie con un valore Valore_Cookie. Per verificare la presenza o l'assenza di un determinato cookie, utilizzare una delle seguenti espressioni:
cookie$MyCookieName IS NOT NULL 
cookie$MyCookieName IS NULL

ejbmodule

IIOP Il nome del modulo di un EJB.

ejbname

IIOP Il nome di un EJB.

ejbmethod

IIOP Il nome del metodo contenuto nell'EJB.
Intestazione Da

SIP

Il campo di intestazione Da.

Nome di visualizzazione intestazione Da

SIP

Il nome di visualizzazione nel campo di intestazione Da.

Da URI

SIP

L'URI del campo di intestazione Da.

Da host URI

SIP

L'host nel campo di intestazione Da.

Da porta URI

SIP

La porta nell'URI del campo di intestazione Da.

Da utente URI

SIP

L'utente nel campo di intestazione Da.

header$<nome>

HTTP

SOAP

SIP

Il nome ed il valore di un'intestazione. Ad esempio l'espressione header$Host='localhost' verifica una richiesta per vedere se contiene un'intestazione host HTTP con il valore localhost. Per verificare la presenza o l'assenza dell'intestazione host, utilizzare uno delle seguenti espressioni:
header$Host IS NOT NULL 
header$Host IS NULL
HTTPMethod

HTTP

SOAP

Il metodo HTTP per la richiesta. I valori possibili sono POST, GET, PUT e DELETE.
MIMEType

HTTP

SOAP

Il tipo MIME della richiesta.
operation SOAP Il nome di un'operazione di servizio Web.
percentage$<val>

HTTP

SOAP

IIOP

SIP

L'operando relativo alla percentuale assume il valore true, una percentuale fissa del valore temporale. Ad esempio percentage$50 assume il valore true su un 50% di media del tempo.
port

HTTP

SOAP

IIOP

SIP

La porta in ascolto su cui è stata ricevuta la richiesta.
protocol

HTTP

SOAP

Il protocollo di comunicazione che trasmette la richiesta. I protocolli attualmente supportati sono HTTP, HTTPS, SOAP e SOAPS.
queryparm$<nome>

HTTP

SOAP

Il nome ed il valore di un'intestazione. Ad esempio, l'espressione queryparm$timezone='EST' verifica una richiesta per vedere se contiene un paramtero di query HTTP denominato timezone con un valore EST. Per verificare la presenza o l'assenza di un parametro di query, utilizzare uno dei seguenti formati:
queryparm$timezone IS NOT NULL 
queryparm$timezone IS NULL
rampup$<startTime>$<completionTime>

HTTP

SOAP

IIOP

SIP

L'operando relativo al rampup assume il valore true, una percentuale variabile del valore temporale. Assume sempre il valore false prima di <startTime> e diventa true dopo <completionTime>. Man mano che il tempo passa da <startTime> a <completionTime>, assume il valore true, ovvero una percentuale in aumento lineare.

Il formato di <startTime> e <completionTime> è giorno/mese/anno::ora:min:sec.

dove giorno è il giorno del mese; mese è uno dei 12 mesi: Gen, Feb, mar, Apr, Mag, Giu, Lug, Ago, Set, Ott, Nov, Dic; anno è l'anno di 4 cifre; ora è l'ora di due cifre in un orologio di 24 ore e min e sec sono valori di due cifre rispettivamente per minuti e secondi.

Ad esempio,

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 inizia ad assumere il valore true alle 8 del 1 Gennaio 2007 e diventa sempre true fino a raggiungere l'ora di completamento alle 17 dello stesso giorno.
Trasporto richiesta

SIP

Il trasporto della richiesta.

URI richiesta

SIP

L'URI della richiesta.

Host URI della richiesta

SIP

L'host nell'URI della richiesta.

Porta URI della richiesta

SIP

La porta nell'URI della richiesta.

Utente URI della richiesta

SIP

L'utente nell'URI della richiesta.

Schema dell'intestazione Da

SIP

Lo schema del campo di intestazione Da.

Schema dell'intestazione A

SIP

Lo schema del campo di intestazione A.

Schema di URI

SIP

Lo schema dell'URI.

serverhost

HTTP

SOAP

IIOP

SIP

Il nome host completo del server. Questo operando non supporta operatori numerici come, ad esempio, >, >=, <, <=.
serveripv4

HTTP

SOAP

SIP

L'indirizzo IP del computer server che utilizza il tipo di indirizzo separato da 4 punti IPv4 n.n.n.n.
serveripv6

HTTP

SOAP

SIP

Il tipo di indirizzo IPv6 a 128 bit x:x:x:x:x:x:x:x che segue l'RFC 1924 del computer server.
service

SOAP

Il nome di un servizio web.
Metodo SIP

SIP

Il metodo per la richiesta. I possibili valori sono: INVITE, TRYING, RINGING, ACK, OK e BYE. Se il messaggio non è una richiesta, questo operando restituisce un valore nullo.

Codice di risposta

SIP

Il codice della risposta. Se il messaggio non è una risposta, questo operando restituisce -1.

time

HTTP

SOAP

IIOP

Questo operando viene utilizzato per definire la data e l'ora del giorno in cui è necessario soddisfare una determinata richiesta. Due campi facoltativi sono StartTime ed EndTime. Se una richiesta non viene ricevuta al di fuori di tale finestra definita, non verrà elaborata.

I campi Ora di inizio e Ora di fine hanno ciascuno il seguente formato: giorno_della_settimana/giorno_del_mese/mese/anno::ora:minuti:secondi.

Ad esempio, giovedì 11 Aprile 2007, alle 13:03:45 viene specificato come:

Gio/11/Apr/2007::13:03:45

In qualsiasi campo è possibile utilizzare un carattere jolly con il valore *. Ad esempio, il primo giorno di ogni mese viene specificato come */1.

I valori giorno_della_settimana sono Lun, Mar, Mer, Gio, Ven, Sab, Dom; i valori di giorno_del_mese sono compresi tra 1 e 31.

Il valore mese è un valore non numerico che rappresenta i dodici mesi: Gen, Feb, Mar, Apr, Mag, Giu, Lug, Ago, Set, Ott, Nov, Dic.

Il valore Anno è composto da quattro cifre dell'anno. Ad esempio, 2007.

Il valore ora è l'ora del giorno, utilizzando il formato 24 ore. Ad esempio, 8:00 viene rappresentato come ::8. I campi minuti e secondi sono numeri interi compresi tra 0 e 59.

La barra (/) viene utilizzata per separare i parametri della data, i doppi due punti (::) vengono utilizzati per separare i valori della data e dell'ora, mentre i due punti (:) vengono utilizzati per separare i parametri ora del giorno. Si noti che si tratta del risultato booleano dell'intera regola in cui viene utilizzato l'operando time che determina l'azione di instradamento intrapresa.

Host client A

SIP

L'host client nel campo di intestazione A.

Intestazione A

SIP

Il campo di intestazione A.

Nome di visualizzazione intestazione A

SIP

Il nome di visualizzazione nel campo di intestazione A.

A URI

SIP

L'URI del campo di intestazione A.

A host URI

SIP

La porta nell'URI del campo di intestazione A.

A utente URI

SIP

L'utente nel campo di intestazione A.

host virtuale

HTTP

SOAP

I portali virtuali vengono creati in WebSphere® Portal Server; WebSphere Extended Deployment supporta questo operando per una migliore integrazione con WebSphere Portal Server. La porta virtuale è l'URL della richiesta meno la root di contesto per il modulo Web dell'applicazione WebSphere Portal. Se una determinata richiesta soddisfa il portale virtuale definito, viene eseguita l'azione di instradamento definita per quella regola.
xpathexpr

SOAP

L'espressione della stringa XPath ha un campo obbligatorio utilizzato per contenere l'espressione XPath ed un campo facoltativo per la definizione dello spazio nomi locale. Se tutti gli spazi nomi contenuti nell'espressione XPath sono standard, il secondo campo può essere considerato facoltativo. Se vi sono più spazi nomi locali, sarà necessario separarli con una virgola (,). Di seguito è riportato un esempio di una xpathexpr con la definizione di uno spazio dei nomi locale:
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

Nell'espressione precedente, l'espressione XPath è /soap:Envelope/soap:Body/n:getTimeZone/n:clientId. Tale espressione contiene lo spazio dei nomi locale n. Quindi, il secondo campo della xpathexpr è definito come n \\=http://test.classify.ws.ibm.com. Il simbolo del dollaro ($) viene utilizzato per denotare l'inizio di una definizione di campo. Le doppie barre retroverse sono la sequenza di escape in questo esempio. Il primo segno di uguale (=) viene utilizzato come carattere escape poiché fa parte della definizione dello spazio dei nomi locale, mentre il secondo segno di uguale (=) è l'operatore nell'espressione di classificazione e non deve essere utilizzato come escape.

Di seguito è riportato un esempio di una xpathexpr con due spazi dei nomi locali:

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

Segue un elenco di spazi dei nomi standard per xpathexpr:

Tabella 1. Spazi dei nomi
Spazio dei nomi URL
soap http://schemas.xmlsoap.org/soap/envelope/
soap-env http://schemas.xmlsoap.org/soap/envelope/
soapenc http://schemas.xmlsoap.org/soap/encoding/
soapbind http://schemas.xmlsoap.org/wsdl/soap/
xsd http://www.w3.org/2001/XMLSchema
xsi http://www.w3.org/2001/XMLSchema-instance
xsi http://ws-i.org/schemas/conformanceClaim/
wsdl http://schemas.xmlsoap.org/wsdl/
Operatore
  • = L'operatore di uguaglianza esprime una corrispondenza sensibile al maiuscolo/minuscolo.
  • <> L'operatore di disuguaglianza esprime che il valore dell'operando non è uguale al valore immesso.
  • > L'operatore Maggiore di si utilizza con i numeri.
  • >= L'operatore Maggiore di o uguale a si usa con i numeri.
  • < L'operatore Minore di si usa con i numeri.
  • <= L'operatore Minore di o uguale a si usa con i numeri.
  • AND: Per xx AND yy, esprime corrispondenze che contengono xx, yy.
  • BETWEEN: Questo operatore viene utilizzato con AND per selezionare una scala di valori che comprendono il primo o il minore e l'ultimo o il maggior valore. Insieme, operano sui numeri e sulle date.
  • EXISTS: Questo operatore Booleano verifica un operando o il risultato di una sottoespressione composta, ad esempio quando si verificano alcuni attributi dell'elemento intestazione HTTP.
  • IN: Questo operatore esprime un operando con più valori in una singola espressione. Ad esempio, se per un operando denominato porta, si desidera specificare che il valore di porta può essere qualunque/tutti i valori come 9080, 9090, 9091, il frammento dell'espressione è porta IN (9080,9090,9091). Il modo in cui i valori vengono espressi tra parentesi dipende dal tipo di dati della porta. Se la porta è rappresentata da un valore intero, la sintassi corretta è costituita dai valori senza gli apici. Se la porta è una stringa, la sintassi corretta è porta IN (‘9080’,‘9090’,‘9091’).
  • IS NULL: Questo operatore esprime che una convalida della query mostra che il parametro richiesto non esiste.
  • IS NOT NULL: Questo operatore esprime che la convalida di una query mostra che il parametro richiesto esiste.
  • LIKE: Questo operatore esprime un modello che corrisponde ai valori dell'operando di una stringa. Il valore deve contenere il segno percentuale del carattere globale (%) nella posizione in cui inizia la corrispondenza del modello. Ad esempio, l'espressione host LIKE %blanca corrisponde alla parola blanca oppure a qualunque altra parola che termina in blanca, mentre l'espressione host LIKE blanca% corrisponde alla parola blanca o a qualunque altra parola che inizia con blanca e l'espressione host LIKE %blanca% corrisponde alla parola blanca o a qualunque parola in cui è contenuta la parola blanca.
  • NOT: Per NOT xx, questo operatore esprime le corrispondenze che non contengono xx.
  • OR: Per xx OR yy, Questo operatore esprime corrispondenze che contengono xx, yy.
Valore

In base all'operatore scelto, immettere il valore per la sottoespressione che si desidera creare.

Genera sottoespressione

Generare la sottoespressione come risultato dell'operando, dell'operatore e dei valori specificati.

Aggiungi

Fare clic per allegare alla casella nel pannello delle regole.




Centro informazioni di WebSphere Virtual Enterprise (in linea)

Informazioni correlate
Regole HTTP della politica di instradamento

http_rulebuilder_detail