[AIX Solaris HP-UX Linux Windows][z/OS]

Intelligent Management : opérandes SOAP

Utilisez les opérandes SOAP dans le générateur de sous-expression, un outil disponible en option permettant de générer des conditions de règle complexes à partir de sous-expressions avec AND, OR, NOT et le regroupement entre parenthèses.

Utilisez les liens des sous-rubriques suivantes pour rechercher des informations spécifiques :

Règles

Chaque classe de travail contient une liste ordonnée et facultative de règles qui sont évaluées pour une demande particulière afin de déterminer la stratégie à lui appliquer. Chaque règle se compose d'une expression booléenne et d'une valeur de stratégie. Si l'expression renvoie la valeur true pour une demande particulière, la stratégie associée à cette règle est utilisée.

La syntaxe et la sémantique d'une expression booléenne d'une règle sont similaires à celles de la clause WHERE d'une expression SQL (Structured Query Language). Plus précisément, la syntaxe d'une expression est définie par la spécification Java™ Message Service (JMS) 1.1. Pour plus d'informations sur la syntaxe et la sémantique des expressions, consultez la rubrique relative à la classification des demandes basées sur des règles.

Dans la spécification JMS, les identificateurs font référence à différents attributs pouvant être associés à une demande, par exemple, un paramètre de demande, un cookie ou un en-tête HTTP spécifique. Un identificateur JMS peut être considéré comme une variable de demande ou opérande. Ces opérandes peuvent être propres à un protocole. Par exemple, le nom de service SOAP est un opérande qui n'est valide que dans une classe de travail SOAP.

Etant donné que SOAP se trouve au-dessus de HTTP, les opérandes HTTP sont également valides dans une demande SOAP. La spécification JMS utilise des littéraux pour indiquer une valeur spécifique à employer dans une comparaison de variable de demande. Par exemple, dans l'expression :
clienthost LIKE '%.ibm.com'
'%.ibm.com' est un littéral utilisé pour comparer le nom d'hôte client pour une demande. Cette expression est vraie pour toutes les demandes qui émanent d'un ordinateur du domaine ibm.com. Placez les littéraux chaîne entre guillemets simples. Ne placez pas les littéraux numériques entre guillemets simples. Utilisées avec les opérateurs AND, OR et NOT, les parenthèses permettent de former des expressions booléennes complexes. La spécification JMS 1.1 propose une description détaillée de ces éléments.

Opérandes SOAP

Tableau 1. Opérandes pris en charge dans SOAP
Opérande Syntaxe Description

Hôte client

clienthost Nom d'hôte complet du client. Il s'agit de la valeur du nom d'hôte de la commande IP. Cet opérande ne prend pas en charge les opérateurs numériques tels que >, >=, <, <=.

IPV4 client

clientipv4 clientipv4 – Adresse IP du client dans le format Internet Protocol version 4 (IPv4) à quatre éléments séparés par des points n.n.n.n.

IPV6 client

clientipv6 Adresse Internet Protocol version 6 (IPv6) 128 bits du type x:x:x:x:x:x:x:x conforme au protocole RFC 1924 de l'ordinateur client.

Nom du cookie

cookie$<nom> Nom d'un cookie.
Par exemple, l'expression cookie$Nom_cookie='Nom_cookie' permet de vérifier qu'une demande contient le cookie Nom_cookie associé à la valeur Nom_cookie. Pour vérifier la présence ou l'absence d'un cookie particulier, utilisez l'une des expressions suivantes :
cookie$MonNomCookie IS NOT NULL 
cookie$MonNomCookie IS NULL

Nom d'en-tête

header $<nom> Nom et valeur de l'en-tête.
Par exemple, l'expression header$Hote='localhost' permet de vérifier qu'une demande contient un en-tête hôte HTTP avec la valeur localhost. Pour vérifier la présence ou l'absence de l'en-tête d'hôte, utilisez l'une des expressions suivantes :
header$Host IS NOT NULL 
header$Host IS NULL

Méthode HTTP

HTTPMethod Méthode HTTP de la demande. Les valeurs possibles sont POST, GET, PUT et DELETE.

Type MIME

MIMEType Type MIME de la demande.

Opération

operation Nom d'une opération de service Web.

Pourcentage

percentage$<val> L'opérande de pourcentage a pour valeur true pour un pourcentage fixe du temps.

Par exemple, percentage$50 a pour valeur true 50 % du temps.

port

port Port d'écoute sur lequel la demande a été reçue.

Protocole

protocol Protocoles de communication qui transmettent la demande. Les protocoles actuellement pris en charge sont HTTP, HTTPS, SOAP et SOAPS.

Paramètre de demande

queryparm$<nom> Nom et valeur de l'en-tête.
Par exemple, l'expression queryparm$Hote='EST' permet de vérifier que la demande contient un paramètre de demande HTTP de fuseau horaire dont la valeur est EST. Pour vérifier la présence ou l'absence d'un paramètre de demande particulier, utilisez l'une des expressions suivantes :
queryparm$zone IS NOT NULL 
queryparm$zone IS NULL

Augmentation progressive

rampup$<heure_début>

$<heure_fin>

L'opérande d'augmentation progressive a pour valeur true pour un pourcentage variable du temps. Il est toujours associé à la valeur false avant <heure_début> et à la valeur true avant <heure_fin>. Au fur et à mesure que l'heure se rapproche de la valeur <heure_fin>, il prend la valeur true pour un pourcentage du temps qui augmente de façon linéaire.

Le format de <heure_début> et <heure_fin> est jour/mois/année::hour:min:sec.

jour est le jour du mois, mois est l'un des douze mois (Jan, Fév, Mar, Avr, Mai, Jui, Juil, Aoû, Sep, Oct, Nov, Déc), année est une année composée de 4 chiffres, heure est l'heure militaire à 2 chiffres et mn et s sont des valeurs à 2 chiffres pour les minutes et les secondes, respectivement.

Par exemple,

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 est parfois associé à la valeur true à 8 heures le 1er janvier 2007 et est toujours associé à la valeur true à 17 heures le même jour, une fois l'heure de fin atteinte progressivement.

Hôte serveur

serverhost Nom d'hôte complet du serveur. Cet opérande ne prend pas en charge les opérateurs numériques tels que >, >=, <, <=.

IPV4 serveur

serveripv4 Adresse IP de l'ordinateur serveur au format IPv4 à quatre éléments séparés par des points n.n.n.n.

IPV6 serveur

serveripv6 Adresse IPv6 128 bits du type x:x:x:x:x:x:x:x conforme au document RFC 1924 de l'ordinateur serveur.

Maintenance

service Nom d'un service Web.

Line

time

Permet de définir la date et l'heure auxquelles une demande doit être traitée. Les deux zones facultatives sont StartTime et EndTime. Si une demande est reçue en dehors de la plage horaire définie, elle n'est pas traitée.

Le format des zones d'heure de début et d'heure de fin est le suivant : jour/date/mois/année::heure:minutes:secondes.

Par exemple, "mardi 11 avril 2007 à 13:03:45" est indiqué sous la forme suivante :

Mar/11/Avr/2007::13:03:45

Vous pouvez utiliser le caractère générique * dans n'importe quelle zone.

Par exemple, le 1er de chaque mois est indiqué sous la forme : */1.

Les valeurs du jour sont Dim, Lun, Mar, Mer, Jeu, Ven, Sam et les valeurs de date sont comprises entre 1 et 31.

La valeur du mois est une valeur non numérique correspondant aux mois de l'année : Jan, Fev, Mar, Avr, Mai, Jui, Juil, Aoû, Sep, Oct, Nov, Déc.

La valeur de l'année comporte quatre chiffres, par exemple : 2007.

L'heure est indiquée au format 24 heures. Par exemple, 8 heures du matin est indiqué sous la forme ::8. Les minutes et les secondes sont des entiers compris entre 0 et 59.

La barre oblique inverse (/) sépare les paramètres de date, les deux-points doubles (::) séparent les paramètres de date, et les deux points simples (:) séparent les paramètres d'heure. Notez que c'est le résultat booléen de la règle complète dans laquelle l'opérande time est utilisé qui détermine l'action de routage appliquée.

Portail virtuel

virtualportal Des portails virtuels sont créés dans WebSphere Portal Server ; la fonction Gestion intelligente prend en charge cet opérande pour une meilleure intégration à WebSphere Portal Server. Le portail virtuel est l'URL de la demande, amputée de la racine de contexte pour le module Web de l'application WebSphere Portal. Si une demande donnée correspond au portail virtuel défini, l'action de routage définie pour cette règle est appliquée.

Expression Xpath

La syntaxe de l'expression Xpath estxpathexpr et est prise en charge par SOAP.

L'expression de type chaîne XPath comporte une zone obligatoire contenant l'expression XPath et une zone facultative permettant de définir le ou les espaces de nom locaux. Si l'expression contient uniquement des espaces de nom standard, la deuxième zone est facultative. S'il existe plusieurs espaces de nom locaux, séparez-les par une virgule (,).

Voici un exemple d'expression xpathexpr avec une définition d'espace de nom 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

Dans ce qui précède, l'expression XPath est /soap:Envelope/soap:Body/n:getTimeZone/n:clientId. Elle contient l'espace de nom local de n. Par conséquent, la deuxième zone de l'expression est définie sous la forme n \\=http://test.classify.ws.ibm.com. Le signe dollar ($) indique le début d'une définition de zone. Les doubles barres obliques inverses constituent la séquence d'échappement dans cet exemple. Une séquence d'échappement est entrée pour le premier signe égal (=) car il fait partie de la définition de l'espace de nom local, alors que le deuxième signe égal (=) est l'opérateur dans l'expression de classification, qui ne doit pas être associé à une séquence d'échappement.

L'exemple suivant affiche une expression xpathexpr avec deux espaces de nom locaux :

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
Le tableau ci-dessous indique les espaces de nom standard pour l'expression xpathexpr :
Tableau 2. Espaces de nom
Espace de nom 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/

Opérateurs

La fonction Gestion intelligente prend en charge les opérateurs dans les expressions de règles. Ces opérateurs sont également appelés prédicats dans la terminologie SQL car ils figurent dans une clause WHERE ou HAVING. La distinction entre les minuscules et les majuscules n'est pas nécessaire pour les opérateurs.

Tableau 3. Opérateurs de classification de demande
Opérateur Description
OR Opérateur logique OR (ou).
AND Opérateur logique AND (et).
NOT Opérateur logique de négation.
IN Exprime un opérande avec des valeurs multiples dans une même expression. Sa signification est conforme à la spécification SQL de l'opérateur.
Par exemple, si vous souhaitez indiquer que le port peut avoir pour valeur 9080, 9090 et/ou 9091, utilisez le fragment d'expression suivant :
port IN (9080,9090,9091)
Dans SQL, la façon dont les valeurs à l'intérieur des parenthèses sont exprimées dépend du type de données de port. Cela signifie que si le port est de type entier, la syntaxe des valeurs sans apostrophes est correcte. Si le port est de type chaîne, l'expression correcte est :
port IN ('9080','9090','9091')
LIKE

Exprime une correspondance de masque pour les valeurs d'opérande chaîne. La valeur doit contenir le caractère générique (%) à la position où la correspondance de masque est censée débuter.

Par exemple, l'expression
host LIKE %blanca
permet de rechercher les occurrences du terme blanca et tout autre terme se terminant par blanca, alors que l'expression
host LIKE blanca%
permet de rechercher les occurrences du terme blanca et tout autre terme commençant par blanca. L'expression
host LIKE %blanca%
permet de rechercher les occurrences du terme blanca et tous les termes comportant la chaîne blanca.

La classe java.util.regex.Pattern est utilisée.

= Opérateur d'égalité utilisé pour exprimer une correspondance différenciant les minuscules et les majuscules.
> Opérateur supérieur à, qui doit être utilisé avec des opérandes numériques.
>= Opérateur supérieur ou égal à, qui doit être utilisé avec des opérandes numériques.
< Opérateur inférieur à, qui doit être utilisé avec des opérandes numériques
<= Opérateur inférieur ou égal à, qui doit être utilisé avec des opérandes numériques.
< > Opérateur logique de négation.
BETWEEN Cet opérateur est utilisé conjointement avec l'opérateur AND pour sélectionner un intervalle de valeurs comprenant la première valeur (la plus basse) et la dernière valeur (la plus haute). Ensemble, ils agissent sur des nombres et des dates.
IS NULL Teste un opérande dont la valeur est NULL.
IS NOT NULL Teste un opérande dont la valeur est autre que NULL.

Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwve_odrsoap
Nom du fichier : rwve_odrsoap.html