Verwenden Sie das Erstellungsprogramm für Unterausdrücke, um mit AND, OR, NOT und Gruppierungen in Klammern komplexe Regelbedingungen aus Unterausdrücken zu erstellen. Das Regelerstellungsprogramm validiert die Regeln, wenn Sie die Änderungen anwenden, und gibt Warnungen aus, wenn Klammern nicht korrekt gesetzt sind oder nicht unterstützte logische Operationen verwendet werden.
Klicken Sie zum Anzeigen dieser Seite der Administrationskonsole auf Server > On Demand Router > ODR-Name> Eigenschaften des On Demand Router > Servicerichtlinien für generischen Servercluster > Name_der_Arbeitsklasse > Regel hinzufügen > Erstellungsprogramm für Unterausdrücke.
Wenn Sie Regeln mit dem Erstellungsprogramm für Unterausdrücke ändern möchten, benötigen Sie Verwaltungsberechtigungen.
Je nach ausgewählten Protokoll werden unterschiedliche Operanden angezeigt. Die folgende Tabelle enthält die Operandennamen, wie sie in der Konsole angezeigt werden, den tatsächlichen Operanden, wie er im Ausdruck verwendet wird, die gültigen Protokolle für jeden Operanden und die Beschreibung jedes Operanden.
Angezeigter Operand | Operand | Gültige Protokolle | Beschreibung |
---|---|---|---|
Anwendungsname | application | IIOP | Der Name der Anwendung, die die EJB enthält. |
Clienthost | clienthost | HTTP, SOAP, IIOP | Der vollständig qualifizierte Name des Clienthosts. Dies ist der Wert für den Hostnamen im IP-Befehl (Internet Protocol). Dieser Operand unterstützt keine numerischen Operatoren wie >, >=, <, <=. |
Client-Port | clientport | IIOP | Der Name des Client-Ports. |
Client-IPV4 | clientipv4 | HTTP, SOAP | Die IPv4-Adresse (Internet Protocol Version 4) des Clients im Format n.n.n.n. |
Client-IPV6 | clientipv6 | HTTP, SOAP | Die 128-Bit-IPv6-Adresse (Internet Protocol Version 6) der Clientmaschine im Format x:x:x:x:x:x:x:x. |
Name des Cookie-Headers | cookie$<Name> | HTTP, SOAP | Ein Cookiename. Der Ausdruck cookie$My_Cookie_Name='My_Cookie_Value prüft beispielsweise, ob eine Anforderung ein Cookie mit dem Namen
My_Cookie_Name und dem Wert My_Cookie_Value enthält. Mit den folgenden Ausdrücken können Sie prüfen, ob ein bestimmtes Cookie vorhanden ist bzw. fehlt:
|
Name des EJB-Moduls | ejbmodule | IIOP | Der Modulname einer EJB. |
EJB-Name | ejbname | IIOP | Der Name einer EJB. |
Name der EJB-Methode | ejbmethod | IIOP | Der Name einer Methode in der EJB. |
Gruppen-IDs | gids$<Name> | HTTP, SOAP | Die Gruppen-ID des Anforderungsabsenders. |
HTTP-Methode | HTTPMethod | HTTP, SOAP | Die HTTP-Methode für die Anforderung. Die gültigen Werte sind POST, GET, PUT und DELETE. |
MIME-Typ | MIMEType | HTTP, SOAP | Der MIME-Typ der Anforderung. |
Port | port | HTTP, SOAP, IIOP | Der Empfangsport, an dem der Service auf dem Host bereitgestellt wird. |
Protokoll | protocol | HTTP, SOAP | Das Kommunikationsprotokoll, mit dem die Anforderung übertragen wird. Die derzeit unterstützten Protokolle sind HTTP, HTTPS, SOAP und SOAPS. |
Name des Anforderungs-Headers | header$<Name> | HTTP, SOAP | Ein Headername oder -wert. Ein Header-Name und -Wert. Mit dem Ausdruck header$Host='localhost' wird beispielsweise geprüft, ob eine Anforderung einen HTTP-Host-Header mit dem Wert "localhost" enthält. Verwenden Sie einen der folgenden Ausdrücke, um festzustellen, ob der Host-Header vorhanden ist oder nicht: header$Host IS NOT NULL ,header$Host IS NULL |
Name des Anforderungsabfrageparameters | queryparm$<Name> | HTTP, SOAP | Der Name eines Abfrageparameters, der im Anforderungs-URL angegeben ist.
Sofern vorhanden, setzen sich die Abfrageparameter aus Name/Wert-Paaren zusammen.
Der On Demand Router (ODR) verwendet den Anforderungsabfrageparameter "Name"
als Schlüssel bei der Suche der Parameterzuordnung, und sofern vorhanden, wird der Wert aus der Zuordnung extrahiert, um den Regelausdruck auszuwerten.
Bei einer Regelübereinstimmung wird die angegebene Aktion ausgeführt.
Andernfalls wird die Standardaktion für die Arbeitsklasse ausgeführt, in der der definierte Ausdruck verwendet wird.
Beispielsweise können Sie mit dem Ausdruck queryparm$timezone=’EST’ eine Anforderung
daraufhin prüfen, ob sie einen HTTP-Abfrageparameter mit dem Namen timezone und dem Wert
EST enthält. Verwenden Sie einen der folgenden Befehle, um zu prüfen, ob ein bestimmter
Abfrageparameter vorhanden bzw. nicht vorhanden ist:
|
Rollen | roles$<Name> | HTTP, SOAP | Die Rolle des Anforderungsabsenders. |
Serverhost | Serverhost | HTTP, SOAP, IIOP | Der vollständig qualifizierte Hostname des Servers. Dieser Operand unterstützt keine numerischen Operatoren wie >, >=, <, <=. |
Server-IPV4 | serveripv4 | HTTP, SOAP | Die IP-Adresse der Servermaschine im IPv4-Format n.n.n.n. |
Server-IPV6 | serveripv6 | HTTP, SOAP | Der IPv6-128-Bit-Adresstyp x:x:x:x:x:x:x:x der Servermaschine gemäß RFC 1924. |
Zeit | time | HTTP, SOAP, IIOP | Der Zeitoperand hat das folgende Format: [Wochentag[/Tag_des_Monats[/Monat[/Jahr]]]::][Stunde[:Minute[:Sekunde]]].
Der Schrägstrich (/) wird verwendet, um Datumsparameter zu trennen, der doppelte Doppelpunkt (::), um die Datumsparameter von den Zeitparametern zu trennen, und der Doppelpunkt (:), um die Uhrzeitparameter zu trennen. Das Boolesche Ergebnis der gesamten Regel, in der der Operand "Zeit" verwendet wird, bestimmt die Routing-Aktion, die ausgeführt wird. |
Benutzer-ID | uid$<Name> | HTTP, SOAP | Die Benutzer-ID des Anforderungsabsenders. |
Virtuelles Portal | virtualportal | HTTP, SOAP | Virtuelle Portale werden in WebSphere Portal Server erstellt, und WebSphere Virtual Enterprise unterstützt diesen Operanden für eine bessere Integration in WebSphere Portal Server. Das virtuelle Portal ist der Anforderungs-URL ohne das Kontextstammverzeichnis für das Webmodul der WebSphere-Portal-Anwendung. Wenn eine Anforderung dem definierten virtuellen Portal entspricht, wird die für diese Regel definierte Routing-Aktion ausgeführt. |
XPath-Ausdruck | xpathexpr | SOAP | Der XPath-Zeichenfolgeausdruck enthält ein erforderliches Feld für den XPath-Ausdruck und ein optionales Feld für die Definition lokaler Namespaces. Wenn alle im XPath-Ausdruck enthaltenen Namespaces Standard-Namespaces sind, ist das zweite Feld optional. Wenn mehrere lokale Namespaces vorhanden sind, müssen sie durch Kommata (,) getrennt werden. Im Folgenden sehen Sie ein Beispiel für einen XPath-Ausdruck (xpathexpr) mit der Definition eines lokalen Namespace: 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 |
Geben Sie je nach ausgewähltem Operator einen Wert für den Unterausdruck ein, den Sie erstellen möchten.
Generiert den Unterausdruck mit dem Operanden, dem Operator und den Werten, die Sie angegeben haben.
Kopiert den Unterausdruck und fügt ihn in Ihre Regel ein.