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

Intelligent Management: HTTP-Operanden

Verwenden Sie HTTP-Operanden im Erstellungsprogramm für Unterausdrücke, einem optionalen Tool, mit dem Sie mittels AND, OR, NOT und Gruppierungen in Klammern komplexe Regelbedingungen aus Unterausdrücken erstellen können.

Regeln

Jede Arbeitsklasse enthält eine optional sortierte Liste mit Regeln, die für eine bestimmte Anforderung ausgewertet werden, um die Richtlinie für diese Anforderung zu bestimmen. Jede Regel setzt sich aus einem Booleschen Ausdruck und einem Richtlinienwert zusammen. Wenn die Auswertung des Ausdrucks für eine bestimmte Anforderung den Wert "true" ergibt, wird die Richtlinie verwendet, die dieser Regel zugeordnet ist.

Die Syntax und die Semantik eines Booleschen Ausdrucks für eine Regel gleichen der WHERE-Klausel eines SQL-Ausdrucks (Structured Query Language). Genauer gesagt, die Syntax eines Ausdrucks wird durch die Spezifikation Java™ Message Service (JMS) 1.1 definiert. Weitere Informationen finden Sie im Artikel zu regelbasierter Anforderungsklassifikation.

In der JMS-Spezifikation verweisen Kennungen auf verschiedene Attribute, die einer Anforderung zugeordnet werden können, z. B. ein bestimmter Abfrageparameter, ein Cookie oder ein HTTP-Header. Eine JMS-Kennung ist mit einer Anforderungsvariablen (oder Operanden) vergleichbar. Diese Operanden können protokollspezifisch sein. Der SOAP-Servicename ist beispielsweise ein Operand, der nur in einer SOAP-Arbeitsklasse gültig ist.

Da SOAP über HTTP ausgeführt wird, gelten die HTTP-Operanden gleichermaßen für SOAP-Anforderungen. Die JMS-Spezifikation verwendet Literale, um einen bestimmten Wert für einen Vergleich mit einer Anforderungsvariablen anzugeben. Beispiel:
clienthost LIKE '%.ibm.com'
In diesem Ausdruck ist '%.ibm.com' ein Literal, das mit dem Clienthostnamen für eine Anforderung verglichen wird. Für alle Anforderungen, die von einem Computer in der Domäne ibm.com stammen, wird dieser Ausdruck mit "true" (wahr) ausgewertet. Schließen Sie Zeichenfolgeliterale in einfache Anführungszeichen ein. Numerische Literale dürfen nicht nicht in einfache Anführungszeichen eingeschlossen werden. Zum Erstellen zusammengesetzter Boolescher Ausdrücke können Sie runde Klammern zusammen mit den Operatoren AND, OR oder NOT verwenden. Eine detaillierte Beschreibung finden Sie in der Spezifikation JMS 1.1.

Operanden für HTTP-Anforderungen

Tabelle 1. Operanden für HTTP-Anforderungen
Operand Syntax Beschreibung

Clienthost

clienthost Der vollständig qualifizierte Hostname des Clients. Dies ist der Wert des IP-Befehls "host". Dieser Operand unterstützt keine numerischen Operatoren wie >, >=, <, <=.

Client-IPV4

clientipv4 Die IP-Adresse des Clients im IPv4-Format (Internet Protocol Version 4) n.n.n.n.

Client-IPV6

clientipv6 Die 128-Bit-Adresse des Clientcomputers im IPv6-Format (Internet Protocol Version 6) x:x:x:x:x:x:x:x gemäß RFC (Request for Comments) 1924.

Cookie-Name

cookie$<Name> Ein Cookie-Name.
Der Ausdruck cookie$Mein_Cookie-Name='Mein_Cookie-Wert' prüft beispielsweise, ob eine Anforderung ein Cookie mit dem Namen Mein_Cookie-Name und dem Wert Mein_Cookie-Wert enthält. Verwenden Sie die folgenden Ausdrücke, um zu prüfen, ob ein bestimmtes Cookie vorhanden bzw. nicht vorhanden ist:
cookie$MeinCookieName IS NOT NULL
cookie$MeinCookieName IS NULL

Header-Name

header$<Name> Ein Header-Name und -Wert.
Der Ausdruck header$Host='localhost' prüft beispielsweise, ob eine Anforderung einen HTTP-Host-Header mit dem Wert localhost enthält. Verwenden Sie die folgenden Ausdrücke, um zu prüfen, ob der Host-Header vorhanden bzw. nicht vorhanden ist:
header$Host IS NOT NULL 
header$Host IS NULL

HTTP-Methode

HTTPMethod Die HTTP-Methode für die Anforderung. Die gültigen Werte sind POST, GET, PUT und DELETE.

MIME-Typ

MIMEType Der MIME-Typ der Anforderung.

Prozentsatz

percentage$<Wert> Der Operand für den Prozentsatz ergibt einen festen Prozentsatz der Zeit den Wert true.

Beispiel: percentage$50 ergibt für durchschnittlich 50 % der Zeit den Wert true.

Port

port Der Port, an dem die Anforderung empfangen wurde.

Protokoll

protocol Das Kommunikationsprotokoll, mit dem die Anforderung übertragen wird. Die derzeit unterstützten Protokolle sind HTTP, HTTPS, SOAP und SOAPS.

Abfrageparameter

queryparm$<Name> Ein Header-Name und -Wert.
Der Ausdruck queryparm$timezone='EST' prüft beispielsweise, ob die Anforderung einen HTTP-Abfrageparameter mit dem Namen timezone und dem Wert EST enthält. Verwenden Sie die folgenden Ausdrücke, um zu prüfen, ob ein bestimmter Abfrageparameter vorhanden bzw. nicht vorhanden ist:
queryparm$timezone IS NOT NULL 
queryparm$timezone IS NULL

Anstieg

rampup$<Startzeit>

  $<Fertigstellungszeit>

Der Rampup-Operand ergibt einen variablen Prozentsatz der Zeit den Wert true. Er ergibt immer false vor der <Startzeit> und true nach der <Fertigstellungszeit>. Mit dem Fortschreiten der Zeit ab der <Startzeit> hin zur <Fertigstellungszeit> ergibt der Operand immer true (linear ansteigender Prozentsatz).

Das Format von <Startzeit> und <Fertigstellungszeit> ist Tag/Monat/Jahr::Stunde:Minute:Sekunde.

Tag steht für den Tag des Monats, Monat für einen der zwölf Monate (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec), Jahr für die vierstellige Jahreszahl, Stunde für den zweistelligen Stundenwert nach 24-Stundenformat, Minute für den zweistelligen Minutenwert und Sekunde für den zweistelligen Sekundenwert.

Beispiel:

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 wird erstmalig am 1. Januar 2007 um 8 Uhr morgens mit true und danach bis zur Fertigstellungszeit um 5 Uhr nachmittags desselben Tags immer mit true auswertet.

Schema des URI

request.uri.scheme

Das Schema des URI.

Serverhost

serverhost Der vollständig qualifizierte Hostname des Servers. Dieser Operand unterstützt keine numerischen Operatoren wie >, >=, <, <=.

Server-IPV4

serveripv4 Die IP-Adresse des Servercomputers im IPv4-Adressformat n.n.n.n.

Server-IPV6

serveripv6 Die 128-Bit-Adresse des Servercomputers im IPv6-Format x:x:x:x:x:x:x:x gemäß RFC 1924.

Service

service Der Name eines Web-Service.

Zeit

time

Dieser Operand wird verwendet, um das Datum inklusive Tageszeit zu definieren, an dem eine bestimmte Anforderung bearbeitet werden muss. Die beiden Wahlfelder sind "Startzeit" und "Endzeit". Wenn eine Anforderung außerhalb dieses definierten Fensters empfangen wird, wird die Anforderung nicht verarbeitet.

Die Felder "Startzeit" und "Endzeit" haben das folgende Format: Tag_der_Woche/Tag_des_Monats/Monat/Jahr::Stunde:Minute:Sekunde.

Wenn Sie beispielsweise Donnerstag, den 11. April 2007, 13:03:45 definieren möchten, müssen Sie Folgendes angeben:

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

Die Werte für Tag_der_Woche sind Sun, Mon, Tue, Wed, Thu, Fri, Sat, und die gültigen Werte für Tag_des_Monats sind 1-31.

Die gültigen Werte für Monat sind die nicht numerischen Wert, die die zwölf Monate darstellen: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec.

Für Jahr muss eine vierstellige Jahresangabe verwendet werden, z. B. 2007.

Der Wert für Stunde muss im 24-Stunden-Format angegeben werden. Acht Uhr morgens wird beispielsweise mit ::8 angegeben. Die gültigen Werte für Minute und Sekunde sind ganze Zahlen zwischen 0 und 59.

Anmerkung: Auslassungen und Platzhalter werden für den Operanden "time" nicht unterstützt.

Der Schrägstrich (/) wird als Trennzeichen für Datumsparameter, der doppelte Doppelpunkt (::) als Trennzeichen für Datumsparameter und der Doppelpunkt (:) als Trennzeichen für die Uhrzeitparameter verwendet. Das boolesche Ergebnis der gesamten Regel, in der der Operand Zeit verwendet wird, bestimmt die Routingaktion, die ausgeführt wird.

URI

uri

Uniform Resource Identifier

Virtueller Host

virtualhost

Virtueller Host, der das Ziel der Anforderung ist und für die Konfiguration von Webanwendungen für einen bestimmten Hostnamen verwendet wird.

Virtueller Port

virtualport

Virtueller Host, der das Ziel der Anforderung ist und für die Konfiguration von Webanwendungen für einen bestimmten Port verwendet wird.

Virtuelles Portal

virtualportal

Virtuelle Portale werden in WebSphere Portal Server erstellt, und Intelligent Management unterstützt diesen Operanden für eine bessere Integration mit WebSphere Portal Server. Das virtuelle Portal ist der Anforderungs-URL ohne das Kontextstammverzeichnis für das Webmodul der WebSphere-Portal-Anwendung. Wenn eine bestimmte Anforderung dem definierten virtuellen Port entspricht, wird die für diese Regel definierte Routingaktion ausgeführt.

Operanden für HTTP-Antworten

Wenn Sie eine angepasste Protokolldatei verwenden, könnenm Sie die folgenden Operanden zusätzlich zu den Operanden in Tabelle 1 nutzen:
Tabelle 2. Operanden für HTTP-Antworten
Operand Syntax Beschreibung

Antwortcode

response.code

Filtert nach HTTP-Antwortcodes, wie z. B. 404, 503 usw.

Antwortzeit

response.time

Der Zeitraum zwischen dem Zeitpunkt, zu dem die Anforderung im ODR empfangen wird, und dem Zeitpunkt, zu dem die Antwort des ODR gesendet wird.

Fehler beim Schreiben der Antwort

response.write.error

Protokolliert Fehler, die beim Schreiben einer Antwort an einen Client auftreten können.

Servicezeit

service.time

Der Zeitraum zwischen dem Zeitpunkt, zu dem die Anforderung an den Anwendungsserver gesendet wird, und dem Zeitpunkt, zu dem eine Antwort vom Anwendungsserver empfangen wird.

Zielserver

targetserver

Gibt den Server, an den die Anforderung gesendet wurde, in einem Format von WebSphere Application Server an. Beispiel: mycell/mynode/myserver.

XPath-Ausdruck

Die Syntax für den XPath-Ausdruck ist xpathexpr und wird von HTTP unterstützt.

Der verkettete XPath-Ausdruck setzt sich aus einem erforderlichen Feld, das den XPath-Ausdruck enthält, und einem optionalen Feld für die Definition lokaler Namespaces zusammen. Wenn alle im XPath-Ausdruck enthaltenen Namespaces Standard-Namespaces sind, kann das zweite Feld optional sein. Wenn es mehrere lokale Namespaces gibt, trennen Sie diese jeweils durch ein Komma (,).

Das folgende Beispiel zeigt einen XPATH-Ausdruck (xpathexpr) mit der Definition eines lokalen Namespace:

xpathexpr$/http:Envelope/soap:Body/m:getTimeZone/n:clientId$n\\=http://test2.classify.ws.ibm.com 
  = \\'1000\\' or operation IS NOT NULL

Im vorherigen Ausdruck lautet der XPath-Ausdruck wie folgt: /http:Envelope/soap:Body/n:getTimeZone/n:clientId. Er enthält den lokalen Namespace von n. Deshalb wird das zweite Feld des XPath-Ausdrucks mit n\\=http://test.classify.ws.ibm.com definiert. Das Dollarzeichen ($) kennzeichnet den Beginn einer Felddefinition. Die doppelten Backslashs sind die Escape-Zeichenfolge in diesem Beispiel. Dem ersten Gleichheitszeichen (=) wird ein Escape-Zeichen vorangestellt, weil es zur Definition des lokalen Namespace gehört, während das zweite Gleichheitszeichen (=) der Operator im Klassifizierungsausdruck ist, dem kein Escape-Zeichen vorangestellt werden muss.

Das folgende Beispiel zeigt einen XPath-Ausdruck mit zwei lokalen Namespace-Definitionen:

xpathexpr$/http:Envelope/http: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
Die folgende Tabelle zeigt die Standard-Namespaces für den XPATH-Ausdruck (xpathexpr):
Tabelle 3. Namespaces
Namespace 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/

Operatoren

Intelligent Management unterstützt in Regelausdrücken die Operatoren in der folgenden Tabelle. Diese Operatoren werden in der SQL-Terminologie auch als Prädikate bezeichnet, weil sie innerhalb einer Klausel "WHERE" oder "HAVING" verwendet werden. Bei der Schreibweise von Operatoren wird nicht zwischen Groß- und Kleinschreibung unterschieden.

  • Gleich bei Ignorierung der Groß-/Kleinschreibung (EQUALSIGNORECASE): Identisch mit 'String = String' mit Ausnahme dessen, dass die Groß-/Kleinschreibung der Zeichenfolgen ignoriert wird. 'ABC' EQUALSIGNORECASE 'abc' wird daher mit true ausgewertet. ('ABC' = 'abc') wird mit false ausgewertet.
  • Nicht Gleich ( <> ): Der Nicht-gleich-Operator gibt an, dass der Wert des Operanden ungleich dem eingegebenen Wert ist.
  • In (IN): Dieser Operator sucht einen Operanden mit mehreren Werten in einem Ausdruck. Wenn Sie beispielsweise für einen Operanden mit dem Namen port ausdrücken möchten, dass der Portwert einem der angegebenen Werte oder allen angegebenen Werten, wie z. B. 9080, 9090 oder 9091 entsprechen kann, geben Sie das Ausdrucksfragment port IN (9080,9090,9091) an. Wie die Werte in den runden Klammern ausgedrückt werden, richtet sich nach dem Datentyp von "port". Wenn der Port eine ganze Zahl ist, ist die korrekte Syntax, die Werte ohne Anführungszeichen anzugeben. Ist Port eine Zeichenfolge, lautet die korrekte Syntax port IN (‘9080’,‘9090’,‘9091’).
  • Wie (LIKE): Dieser Operator drückt eine Mustererkennung für Zeichenfolgeoperanden aus. Der Wert muss das Platzhalterzeichen (%) an der Position enthalten, an der die Mustererkennung beginnt. Der Ausdruck host LIKE %blanca findet beispielsweise das Wort blanca und alle anderen Wörter, die mit blanca enden, während der Ausdruck host LIKE blanca% das Wort blanca und alle anderen Wörter findet, die mit blanca beginnen. Der Ausdruck host LIKE %blanca% findet das Wort und alle Wörter, die das Wort blanca enthalten.
  • Wie bei Ignorierung der Groß-/Kleinschreibung (LIKEIGNORECASE): Identisch mit 'string like string' mit der Ausnahme, dass die Groß-/Kleinschreibung der Zeichenfolgen ignoriert wird.
  • Is nicht null (IS NOT NULL): Dieser Operator drückt aus, dass die Validierung der Abfrage ergeben soll, dass der angeforderte Parameter vorhanden ist.
  • Verketten (+): Dieser Operator drückt aus, dass zwei Zeichenfolgen miteinander verknüpft sind: 'abc' + 'def' = 'abcdef'.
  • Wie in (LIKEIN): Dieser Operator drückt aus, dass "Zeichenfolge likein (Zeichenfolge1, Zeichenfolge2, Zeichenfolge3, usw.)" dann als zutreffend (true) ausgewertet wird, wenn die Zeichenfolge links von "likein" mit einer oder mehreren Zeichenfolgen (ZeichenfolgeN) übereinstimmt.
  • Ist null (IS NULL): Dieser Operator drückt aus, dass die Validierung der Abfrage ergeben soll, dass der angeforderte Parameter nicht vorhanden ist.
  • Gleich ( = ): Der Gleichheitsoperator drückt eine Übereinstimmung aus, bei der die Groß-/Kleinschreibung berücksichtigt wird.

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwve_odrhttp
Dateiname:rwve_odrhttp.html