Utilizzare il programma di generazione espressioni secondarie per creare condizioni di regole complesse da espressioni secondarie utilizzando AND, OR, NOT e il raggruppamento parentetico. Il programma di generazione 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_router_on_demand> Proprietà router on demand > Politiche di servizio del cluster del server generico > nome_classe_lavoro > Aggiungi regola > Programma di generazione espressioni secondarie.
Per modificare le regole con il programma di generazione espressioni secondarie, è necessario disporre dei privilegi di amministratore.
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 operando e la descrizione di ciascun operando.
Operando visualizzato | Operando | Protocolli validi | Descrizione |
---|---|---|---|
Nome dell'applicazione | application | IIOP | Il nome dell'applicazione che contiene EJB. |
Host client | clienthost | HTTP, SOAP, IIOP | Nome completo dell'host client. E' il valore del nome host del comando del protocollo Internet (IP). Questo operando non supporta operatori numerici quali >, >=, <, <=. |
Porta client | clientport | IIOP | Il nome porta del client. |
IPV4 del client | clientipv4 | HTTP, SOAP | L'indirizzo Internet Protocol Versione 4 del client, che utilizza il tipo di indirizzo separato da 4 punti: n.n.n.n |
IPV6 del client | clientipv6 | HTTP, SOAP | L'indirizzo Internet Protocol Versione 6 del client del tipo a 128 bit x:x:x:x:x:x:x:x. |
Nome intestazione del cookie | 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:
|
Nome del modulo EJB | ejbmodule | IIOP | Il nome del modulo di un EJB. |
Nome EJB | ejbname | IIOP | Il nome di un EJB. |
Nome del metodo EJB | ejbmethod | IIOP | Il nome del metodo contenuto nell'EJB. |
ID del Gruppo | gids$<nome> | HTTP, SOAP | ID del gruppo del mittente della richiesta. |
Metodo HTTP | HTTPMethod | HTTP, SOAP | Il metodo HTTP della richiesta. I valori possibili sono POST, GET, PUT e DELETE. |
Tipo MIME | MIMEType | HTTP, SOAP | Il tipo MIME della richiesta. |
Porta | port | HTTP, SOAP, IIOP | La porta in ascolto su cui è fornito il servizio sull'host. |
Protocollo | protocol | HTTP, SOAP | Il protocollo di comunicazione che trasmette la richiesta. I protocolli attualmente supportati sono HTTP, HTTPS, SOAP e SOAPS |
Nome intestazione della richiesta | header$<nome> | HTTP, SOAP | Il nome o il valore di un'intestazione. 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 |
Nome del parametro della query della richiesta | queryparm$<nome> | HTTP, SOAP | Un nome del parametro della query specificato nell'URL della richiesta. Per ciascuna richiesta, c'è un'associazione della coppia nome/valore dei parametri di query,
se presenti. Il router on demand (ODR) utilizza il nome del parametro della richiesta di
query come chiave per ricercare la mappa di parametri e, se presente, estrae
il valore per valutare l'espressione della regola. Se la regola corrisponde, viene intrapresa l'azione
specificata. In caso contrario, viene utilizzata l'azione predefinita per la classe di
lavoro in cui è definita l'espressione. Ad esempio, l'espressione queryparm$timezone=’EST’ verifica una
richiesta per controllare se contiene un parametro 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 comandi:
|
Ruoli | roles$<nome> | HTTP, SOAP | Il ruolo del mittente della richiesta. |
Host server | serverhost | HTTP, SOAP, IIOP | Il nome completo del server. Questo operando non supporta operatori numerici quali >, >=, <, <=. |
Server IPV4 | serveripv4 | HTTP, SOAP | L'indirizzo IP del server che utilizza il tipo di indirizzo IPv4 separato da quattro punti n.n.n.n. |
Server IPV6 | serveripv6 | HTTP, SOAP | L'indirizzo IPv6 del server nel formato a 128-bit x:x:x:x:x:x:x:x che segue le indicazioni contenute nella RFC 1924. |
Ora | time | HTTP, SOAP, IIOP | L'operando time ha il seguente formato: [dayOfWeek[/dayOfMonth[/month[/year]]]::][hour[:minute[:second]]].
La barra (/) viene utilizzata per separare i parametri della data, i doppi due punti (::) vengono utilizzati per separare i parametri della data e dell'ora, mentre i due punti (:) vengono utilizzati per separare i parametri ora del giorno. Si noti che è il risultato booleano dell'intera regola in cui viene utilizzato l'operando time che determina l'azione di instradamento intrapresa. |
ID utente | uid$<nome> | sHTTP, SOAP | L'ID utente del mittente della richiesta. |
Portale virtuale | virtualportal | HTTP, SOAP | I portali virtuali vengono creati in WebSphere Portal Server e WebSphere Extended Deployment supporta questo operando per una migliore integrazione con WebSphere Portal Server. Il portale 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. |
Espressione XPath | 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 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 |
A seconda dell'operatore scelto, immettere un valore per l'espressione secondaria che si desidera creare.
Generare l'espressione secondaria come risultato dell'operando, dell'operatore e dei valori specificati.
Copiare e incollare questa espressione secondaria nella propria regola.