# Tvůrce podvýrazů

Pomocí tvůrce podvýrazů je možné sestavovat z podvýrazů podmínky komplexních pravidel pomocí operátorů AND, OR, NOT a seskupování do závorek. Když změny použijete, nástroj pro tvorbu pravidel ověří pravidlo a upozorní vás na nesoulad mezi kulatými závorkami a nepodporovanými logickými operátory.

Chcete-li zobrazit tuto stránku administrativní konzoly, klepněte na volbu Servery > Typy serverů > Směrovače ODR > název_směrovače_odr > Vlastnosti směrovače ODR > Zásady služeb generického serverového klastru > název_pracovní_třídy > Přidat pravidlo > Tvůrce podvýrazů.

Chcete-li upravit pravidla pomocí Tvůrce podvýrazů, musíte mít oprávnění administrátora.

## Vybrat operand

V závislosti na vybraném protokolu se zobrazí různé operandy. Následující tabulka zahrnuje názvy operandů zobrazené v konzole, skutečný operand, jak bude zobrazen ve výrazu, platné protokoly pro jednotlivé operandy a popis jednotlivých operandů.

Tabulka 1. Operandy a jejich popis
Zobrazený operand | Operand | Platné protokoly | Popis
--- | --- | --- | ---
Název aplikace | `application` | IIOP | Název aplikace, ve které se nachází EJB.
Hostitel klienta | `clienthost` | HTTP, SOAP, IIOP | Úplný název hostitele klienta. Jedná se o hodnotu názvu hostitele příkazů protokolu IP (Internet Protocol). Tento operand nepodporuje číselné operátory, jako jsou `>, >=, <, <=`.
Port klienta | `clientport` | IIOP | Název portu klienta.
Klient IPV4 | `clientipv4` | HTTP, SOAP | Adresa protokolu IPv4 (Internet Protocol verze 4) klienta používající typ adresy se čtyřmi čísly oddělenými tečkami: `č.č.č.č`
Klient IPV6 | `clientipv6` | HTTP, SOAP | IPv6 (Internet Protocol verze 6) se 128bitovým typem adresy `x:x:x:x:x:x:x:x` klientského počítače.
Název záhlaví souboru cookie | `cookie$<name>` | HTTP, SOAP | Název souboru cookie. Například výraz `cookie$My_Cookie_Name='My_Cookie_Value'` testuje, zda požadavek obsahuje soubor cookie nazvaný My_Cookie_Name s hodnotou My_Cookie_Value. Chcete-li otestovat přítomnost či nepřítomnost konkrétního souboru cookie, použijte jeden z těchto výrazů: cookie$Název_mého_souboru_cookie IS NOT NULL cookie$Název_mého_souboru_cookie IS NULL
Název modulu EJB | `ejbmodule` | IIOP | Název modulu EJB.
Název EJB | `ejbname` | IIOP | Název EJB.
Název metody EJB | `ejbmethod` | IIOP | Název metody v rámci EJB.
ID skupin | `gids$<name>` | HTTP, SOAP | ID skupiny odesilatele požadavku.
Metoda HTTP | `HTTPMethod` | HTTP, SOAP | Metoda HTTP pro požadavek. Možné hodnoty jsou POST, GET, PUT a DELETE.
Typ MIME | `MIMEType` | HTTP, SOAP | Typ MIME požadavku.
Port | `port` | HTTP, SOAP, IIOP | Port naslouchání, na kterém je u hostitele poskytována služba.
Protokol | `protocol` | HTTP, SOAP | Komunikační protokol, který přenáší požadavek. V současné době jsou podporovány HTTP, HTTPS, SOAP a SOAPS.
Název záhlaví požadavku | `header $<name>` | HTTP, SOAP | Název a hodnota záhlaví. Například výraz `header$Host='localhost'` testuje, zda požadavek obsahuje záhlaví hostitele HTTP s hodnotou localhost. Chcete-li otestovat přítomnost či nepřítomnost záhlaví hostitele, použijte jeden z těchto výrazů: `header$Hostitel IS NOT NULL ,`header$Hostitel IS NULL``
Vyžádat název parametru dotazu | `queryparm$<name>` | HTTP, SOAP | Název parametru dotazu zadaný v adrese URL požadavku. request URL. Pro každý požadavek je k dispozici pár (název/hodnota) mapování parametrů dotazu, pokud existují. Směrovač ODR používá název parametru dotazu požadavku jako klíč k vyhledání mapy parametrů, a pokud existuje, extrahuje hodnotu, aby vyhodnotil výraz pravidla. Pokud se pravidlo bude shodovat, bude provedena zadaná akce. Jinak bude použita výchozí akce pracovní třídy, ve které je výraz definován. Například výraz `queryparm$timezone=EST` testuje, zda požadavek obsahuje název parametru dotazu HTTP nazvaný `timezone` s hodnotou `EST`. Chcete-li otestovat přítomnost nebo absenci parametru dotazu, použijte jeden z těchto příkazů: `queryparm$časové_pásmo IS NOT NULL` `queryparm$časové_pásmo IS NULL`
Role | `roles$<name>` | HTTP, SOAP | Role odesilatele požadavku.
Hostitel serveru | `serverhost` | HTTP, SOAP, IIOP | Úplný název hostitele serveru. Tento operand nepodporuje číselné operátory, jako jsou `>, >=, <, <=.`
Server IPV4 | `serveripv4` | HTTP, SOAP | Adresa IP počítače serveru používající typ adresy IPv4 složený z čísel oddělených tečkami č.č.č.č.
Server IPV6 | `serveripv6` | HTTP, SOAP | 128bitový typ adresy IPv6 ve formátu x:x:x:x:x:x:x:x pro počítač serveru s verzí RFC 1924.
Čas | `time` | HTTP, SOAP, IIOP | Operand time má tento formát: `den_v_týdnu/den_v_měsíci/měsíc/rok::hodina:minuta:sekunda` Hodnoty pro Den_v_týdnu jsou Sun, Mon, Tue, Wed, Thu, Fri, Sat (neděle, pondělí, úterý, středa, čtvrtek, pátek, sobota). Hodnoty pro Den_v_měsíci jsou čísla v rozsahu 1-31. Měsíc je číslo, které představuje měsíc, počínaje číslem 1 pro leden a konče číslem 12 pro prosinec. Například číslo 5 představuje květen. Rok se zapisuje čtyřmi číslicemi. Například 2007. Hodina je hodina v průběhu dne zapisovaná ve 24hodinovém formátu. Minuta je celé číslo v rozsahu 0-59. Sekunda je celé číslo v rozsahu 0-59. Poznámka: U operandu time nejsou podporována vynechání ani zástupné znaky. Lomítko (/) se používá k oddělení parametrů data, dvojitá dvojtečka se používá k oddělení parametrů data a času a dvojtečka se používá k oddělení časových parametrů dne. Všimněte si, že akci směrování, která se provede, určuje logický výsledek celého pravidla, v němž se používá operand time.
Jméno uživatele | `uid$<name>` | HTTP, SOAP | ID uživatele odesílajícího požadavek.
Virtuální portál | `virtualportal` | HTTP, SOAP | Virtuální portál je adresa URL požadavku bez kontextového kořenového adresáře pro webový modul aplikace WebSphere® Portal. Pokud daný požadavek odpovídá definovanému virtuálnímu portálu, provede se akce směrování definovaná pro toto pravidlo.
Výraz XPath | `xpathexpr` | SOAP | Řetězcový výraz XPath má povinné pole, které obsahuje výraz XPath, a volitelné pole pro definování lokálních oborů názvů. Pokud jsou všechny obory názvů obsažené ve výrazu XPath standardní, může být druhé pole volitelné. Pokud existuje více lokálních oborů názvů, oddělujte je čárkami (,). Dále je uveden příklad výrazu xpathexpr s jednou definicí lokálního oboru názvů: `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`

## Operátor

- = Operátor rovnosti vyjadřuje shodu s rozlišováním malých a velkých písmen.
- <> Operátor nerovnosti vyjadřuje, že se hodnota operandu nerovná vámi zadané hodnotě.
- > Operátor větší než je určen pro použití s čísly.
- >= Operátor větší než nebo rovno je určen pro použití s čísly.
- < Operátor menší než je určen pro použití s čísly.
- <= Operátor menší než nebo rovno je určen pro použití s čísly.
- AND: V konstrukci `xx` AND `yy` vyjadřuje shodu zahrnující jak `xx`, tak `yy`.
- BETWEEN: Tento operátor se používá společně s operátorem AND k výběru rozsahu hodnot včetně první (nejnižší) a poslední (nejvyšší) hodnoty. Společně se používají pro čísla a kalendářní data.
- EXISTS: Tento logický operátor kontroluje výskyt operandu nebo výsledku složeného podvýrazu, například při kontrole určitých atributů prvku záhlaví HTTP.
- IN: Tento operátor vyjadřuje operand s více hodnotami v jednom výrazu. Pokud například chcete pro operand s názvem `port` vyjádřit, že hodnotou portu může být kterákoli (nebo všechny) z hodnot `9080`, `9090` a `9091`, fragment výrazu je `port IN (9080,9090,9091)`. Způsob vyjádření hodnot v závorkách závisí na datovém typu portu. Pokud je port celé číslo, správnou syntaxí jsou hodnoty bez apostrofů. Pokud je port řetězec, je správná syntaxe `port IN (9080,9090,9091)`.
- IS NULL: Tento operátor vyjadřuje, že ověření dotazu ukazuje neexistenci požadovaného parametru.
- IS NOT NULL: Tento operátor vyjadřuje, že ověření dotazu zobrazí, že požadovaný parametr existuje.
- LIKE: Tento operátor vyjadřuje vzorek hledající shodu s hodnotou operandu typu řetězec. Hodnota musí obsahovat zástupný znak procento (%) na pozici, kde začíná porovnání vzorků. Například výraz `host LIKE %blanca` odpovídá slovu blanca nebo jakémukoli jinému slovu, které končí řetězcem blanca, zatímco výraz `host LIKE blanca%` odpovídá slovu blanca nebo jakémukoli jinému slovu, které začíná řetězcem blanca, a výraz `host LIKE %blanca%` odpovídá slovu blanca nebo jakémukoli jinému slovu, které obsahuje řetězec blanca.
- NOT: V konstrukci NOT `xx` tento operátor vyjadřuje shodu neobsahující `xx`.
- OR: V konstrukci `xx` OR `yy` tento operátor vyjadřuje shodu zahrnující `xx` nebo `yy`.

## Hodnota

V závislosti na zvoleném operátoru zadejte hodnotu pro podvýraz, který chcete vytvořit.

## Podvýraz sestavení

Vygeneruje podvýraz jako výsledek operandu, operátoru a hodnot, které zadáte.

## Generovaný podvýraz

Zkopírujte a vložte tento podvýraz do svého pravidla.

Související informace:
Zásady směrování směrovače ODR
Zásady služeb směrovače ODR
Definování členství a pravidel pracovní třídy

Název souboru: wc_rulebuilder_detail.html