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

Intelligent Management: SOAP オペランド

SOAP オペランドは、副次式ユーティリティー・ビルダーで使用します。このビルダーはオプション・ツールであり、AND、OR、NOT、および括弧によるグループ化を使用することで、副次式から複雑なルール条件を作成する際に役立ちます。

特定の情報を検索するには、以下のサブトピック・リンクを参照してください。

規則

それぞれの作業クラスは、オプションの番号付きルールのリストを含みます。 このルールは、特定の要求について評価され、その要求に対するポリシーを 決定します。それぞれのルールはブール式とポリシー値で 構成されます。式が特定の要求を真と評価した場合、 そのルールに関連したポリシーが使用されます。

ルールに対するブール式の構文とセマンティクスは、 Structured Query Language (SQL) 式の WHERE 文節に 似ています。具体的には、式の構文は Java™ Message Service (JMS) 1.1 仕様 で定義されます。式の構文および意味体系について詳しくは、 『ルール・ベースの要求分類』を参照してください。

JMS 仕様では、 ID は特定の照会パラメーター、Cookie、HTTP ヘッダーなど、 要求に関連するさまざまな属性を 参照します。JMS ID は要求変数またはオペランド と考えることができます。このオペランドはプロトコル固有のものである場合があります。例えば、SOAP サービス名は、 SOAP 作業クラスでのみ有効なオペランドです。

SOAP は HTTP 上にあるので、SOAP 要求では HTTP オペランドも有効です。JMS 仕様はリテラルを使用して、要求変数との比較に使用する特定の 値を指定します。例えば、式
clienthost LIKE '%.ibm.com'
で、'%.ibm.com' は要求のクライアント・ホスト名との比較に使用されるリテラルです。この式は、ibm.com® ドメインのコンピューターから発信されるすべての要求に対して、 真です。ストリング・リテラルを単一引用符で 囲みます。数字リテラルは単一引用符で囲まないで ください。ANDORNOT 演算子を含む括弧も、複合ブール式の形成に 使用できます。詳しくは、JMS 1.1 仕様 を参照してください。

SOAP オペランド

表 1. SOAP でサポートされるオペランド
オペランド 構文 説明

クライアント・ホスト

clienthost 完全修飾クライアント・ホスト名。これは、 インターネット・プロトコル (IP) コマンド・ホスト名の値です。 このオペランドは、>、>=、<、<= などの数値演算子をサポートしていません

クライアント IPV4

clientipv4 Internet Protocol version 4 (IPv4) ドット付きクワッドのアドレス・タイプ n.n.n.n を使用したクライアントの IP アドレス。

クライアント IPV6

clientipv6 クライアント・コンピューターの Request for Comments 1924 (RFC 1924) に準じた、 Internet Protocol バージョン 6 (IPv6) 128 ビット・アドレス・タイプ x:x:x:x:x:x:x:x

Cookie 名

cookie$<name> Cookie (クッキー) 名。
例えば、式 cookie$My_Cookie_Name='My_Cookie_Value' は要求をテストし、その要求が、値が My_Cookie_Value である My_Cookie_Name という名の Cookie を含むかどうかを確かめます。ある特定の Cookie が存在するかどうかをテストするには、 次の式のいずれかを使用します。
cookie$MyCookieName IS NOT NULL 
cookie$MyCookieName IS NULL

ヘッダー名

header $<name> ヘッダー名と値。
例えば、式 header$Host='localhost' は、要求をテストし、 値が localhost である HTTP ホスト・ヘッダーを含むかどうかを確かめます。ホスト・ヘッダーが存在するかどうかをテストするには、 次の式のいずれかを使用します。
header$Host IS NOT NULL 
header$Host IS NULL

HTTP メソッド

HTTPMethod 要求に対する HTTP メソッド。考えられる値は、 POST、GET、PUT、DELETE です。

MIME タイプ

MIMEType 要求の MIME タイプ

オペレーション

operation Web サービス・オペレーションの名前。

割合

percentage$<val> パーセンテージ・オペランドは、時間の固定パーセンテージに対して true に評価されます。

例えば、percentage$50 は、時間のパーセンテージが平均で 50% の場合に true に評価されます。

ポート

port 要求を受け取った listen ポート。

プロトコル

protocol 要求を伝送する通信プロトコル。 現在サポートされているプロトコルは、HTTP、HTTPS、SOAP、SOAPS です。

照会パラメーター

queryparm$<name> ヘッダー名と値。
例えば、式 queryparm$timezone='EST' は要求をテストし、 その要求が EST の値を持つ timezone という名の HTTP 照会パラメーターを含むかどうかを確認します。照会パラメーターが存在するかどうかをテストするには、 次の式のいずれかを使用します。
queryparm$timezone IS NOT NULL 
queryparm$timezone IS NULL

ランプアップ

rampup$<startTime>

$<completionTime>

ランプアップ・オペランドは、時間の可変パーセンテージに対して true に評価されます。 このオペランドは、<startTime> より前は常に false に、<completionTime> より後は常に true に評価されます。時間が <startTime> から <completionTime> に進行するにつれ、このオペランドが true に評価される確率が高まります。

<startTime> および <completionTime> の形式は、day/month/year::hour:min:sec です。

ここで、day は日付、month は 12 カ月のうちいずれかの月 (Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec)、year は 4 桁の年、hour は、24 時間クロックで表した時の 2 桁の時間、minsec はそれぞれ分と秒です。

以下に例を示します。

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 は、2007 年 1 月 1 日午前 8 時から 時折 true に評価されるようになり、同日の午後 5 時のランプアップ完了時刻に至る頃には 常に true に評価されています。

サーバー・ホスト

serverhost サーバーの完全修飾ホスト名。このオペランドは、>、>=、<、<= などの数値演算子をサポートしていません

サーバー IPV4

serveripv4 IPv4 ドット付きクワッドのアドレス・タイプ n.n.n.n を使用する、サーバー・コンピューターの IP アドレス。

サーバー IPV6

serveripv6 サーバー・コンピューターの RFC 1924 に準じた、IPv6 128 ビット・アドレス・タイプ x:x:x:x:x:x:x:x

サービス

service Web サービスの名前。

時間

time

指定された要求が権限を持つ必要がある 日付と時刻を定義するために使用します。2 つのオプション・フィールドは StartTime と EndTime です。要求が定義済みウィンドウの外側で受け取られる場合、 その要求は処理されません。

「開始時刻」フィールドと「終了時刻」フィールドの フォーマットはそれぞれ dayOfWeek/dayOfMonth/month/year::hour:minute:second です。

例えば、 2007 年 4 月 11 日、木曜日午後 1:03:45 は、次のように指定されます。

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

どのフィールドでも、値 * でワイルドカードを使用できます。

例えば、毎月の 1 日は */1 と指定します。

dayofWeek 値は Sun、Mon、Tue、Wed、Thu、Fri、Sat、dayOfMonth 値は 1 から 31 の範囲です。

month 値は 12 カ月を表す非数値の Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、 Dec です。

year 値は、4 桁の年で構成されます。例えば、 2007 です。

hour 値は、24 時間クロックの時間です。 例えば、午前 8 時は ::8 と表します。minute および second は 0 から 59 の範囲の整数です。

スラッシュ (/) は、日付パラメーターを区切るために 使用し、ダブル・コロン (::) は日付パラメーターを区切るために使用し、 コロン (:) は時刻パラメーターを区切るために使用します。これで、実行される ルーティング・アクションを決定するのは、time オペランドが使用される ルール全体のブール結果となります。

仮想ポータル

virtualportal 仮想ポータルは WebSphere® Portal Server 内で作成され、Intelligent Management は、WebSphere Portal Server との 統合を向上するためにこのオペランドをサポートします。仮想ポータルは、要求 URL から WebSphere Portal アプリケーションの Web モジュールのコンテキスト・ルートを取り除いたものです。指定された要求が定義済みの仮想ポータルと一致した場合、そのルールに対して定義された ルーティング・アクションが実行されます。

Xpath 式

Xpath 式の構文は xpathexpr であり、SOAP でサポートされます。

XPath ストリング式には、ローカル・ネーム・スペースを定義するための XPath 式およびオプション・フィールドを含む必須フィールドがあります。XPath 式に含まれるすべてのネーム・スペースが標準である場合、 2 番目のフィールドはオプションにすることができます。複数のローカル・ネーム・スペースがある場合、 それぞれのネーム・スペースをコンマ (,) で区切ります。

以下の例では、1 つのローカル名前空間定義を持つ xpathexpr を示しています。

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

上記の式では、XPath 式は /soap:Envelope/soap:Body/n:getTimeZone/n:clientId です。 これにはローカル・ネーム・スペース n が含まれます。そのため、 xpathexpr の 2 番目のフィールドは n ¥¥=http://test.classify.ws.ibm.com と定義されます。 ドル記号 ($) は、フィールド定義の開始を示すために使用します。ダブル円記号は、 この例のエスケープ・シーケンスです。最初の等号 (=) は、 ローカル・ネーム・スペース定義の一部なのでエスケープされます。 一方、2 番目の等号 (=) は種別式の演算子で、 エスケープされてはなりません。

以下の例では、2 つのローカル名前空間定義を持つ xpathexpr を示しています。

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
以下の表は、xpathexpr 式の標準名前空間を示しています。
表 2. 名前空間
名前空間 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/

演算子

Intelligent Management は、ルール式で以下の表の演算子をサポートします。これらの演算子は、WHERE または HAVING 文節の内部に現れるので、SQL 用語では述部 とも呼ばれます。演算子は大/小文字を区別しません。

表 3. 要求分類演算子
オペレーター 説明
OR 論理 OR 演算子。
AND 論理 AND 演算子。
NOT 否定演算子。
IN 単一の式に複数の値を持つオペランドを表します。その意味は、演算子に対する SQL 標準の意味と整合します。
例えば、ポート値を 9080、9090、9091 などの値のいずれかまたはそのすべての可能性がある場合、以下の式フラグメントを使用します。
port IN (9080,9090,9091)
SQL では、括弧内の値の表し方は、ポートのデータ・タイプによって決まります。port が整数の場合、単一引用符がなくても値は構文的に正しくなります。port がストリングの場合、正しい式は、以下のようになります。
port IN ('9080','9090','9091')
LIKE

ストリング・オペランド値のパターン・マッチングを表わします。値には、パターン・マッチングの始まりが予期される位置にワイルドカード文字 (%) が含まれている必要があります。

例として次の式で考えてみます。
host LIKE %blanca
この式は、blanca という単語と、blanca で終わるすべての単語に一致します。また、以下の式があるとします。
host LIKE blanca%
この式は、blanca という単語と、blanca で始まるすべての単語に一致します。 以下の式があるとします。
host LIKE %blanca%
この式は、blanca という単語と、トークン blanca が組み込まれているすべての単語に一致します。

java.util.regex.Pattern クラスが使用されます。

= 等価演算子は、大/小文字を区別した一致を表します。
> より大演算子は、数値オペランドで使用されます。
>= より大演算子または等価演算子は、数値オペランドで使用されます。
< より小演算子は、数値オペランドで使用されます。
<= より小演算子または等価演算子は、数値オペランドで使用されます。
< > 非等価演算子。
BETWEEN AND とともに使用して、最初の (低い) 値と最後の (高い) 値を含む、ある範囲の値を選択します。これら 2 つの値を一緒にして、数と日付の値に対して使用します。
IS NULL オペランドに NULL 値が含まれているかどうかをテストします。
IS NOT NULL オペランドに NULL 以外の値が含まれているかどうかをテストします。

トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwve_odrsoap
ファイル名:rwve_odrsoap.html