副次式ビルダー

副次式ビルダーは、AND、OR、NOT、および括弧によるグループ化を使用して、副次式から複雑なルール条件を作成する場合に使用します。ルール・ビルダーは、変更内容を適用するときにルールを妥当性検査して、括弧数の不一致およびサポートされない論理演算子について警告します。

この管理コンソール・ページを表示するには、「サーバー」>「オンデマンド・ルーター」> 「odr_name」 >「オンデマンド・ルーターのプロパティー」>「汎用サーバー・クラスター・サービス・ポリシー」> 「work_class_name」 >「ルールの追加」>「副次式ビルダー」をクリックします。

副次式ビルダーでルールを変更するには、管理者の管理特権が必要です。

オペランドの選択

選択したプロトコルによって、異なるオペランドが表示されます。 次のテーブルに、コンソールに表示されるオペランド名、式に表示される実際のオペランド、オペランドごとの有効なプロトコル、および各オペランドの説明を示します。

テーブル 1. オペランドとその説明
表示されるオペランド オペランド 有効なプロトコル 説明
アプリケーション名 application IIOP EJB が含まれているアプリケーションの名前。
クライアント・ホスト clienthost HTTP、SOAP、IIOP 完全修飾クライアント・ホスト名。インターネット・プロトコル (IP) コマンドのホスト名の値です。このオペランドは、>、>=、<、<= などの数値演算子はサポートしません。
クライアント・ポート clientport IIOP クライアント・ポート名。
クライアント IPV4 clientipv4 HTTP、SOAP クライアントのインターネット・プロトコル・バージョン 4 アドレス。ドット付きクワッド・アドレス・タイプを使用します: n.n.n.n
クライアント IPV6 clientipv6 HTTP、SOAP クライアント・コンピューターのインターネット・プロトコル・バージョン 6、128 ビットのアドレス・タイプ: x:x:x:x:x:x:x:x
Cookie ヘッダー名 cookie$<name> HTTP、SOAP Cookie 名。例えば、式 cookie$My_Cookie_Name='My_Cookie_Value は、My_Cookie_Name という名前で値が My_Cookie_Value の Cookie が含まれているかどうかをテストします。特定の Cookie が存在するかどうかをテストするには、次のいずれかの式を使用します。
  • cookie$MyCookieName IS NOT NULL
  • cookie$MyCookieName IS NULL
EJB モジュール名 ejbmodule IIOP EJB のモジュール名。
EJB 名 ejbname IIOP EJB の名前。
EJB メソッド名 ejbmethod IIOP EJB 内のメソッドの名前。
グループ ID gids$<name> HTTP、SOAP 要求送信側のグループ ID。
HTTP メソッド HTTPMethod HTTP、SOAP 要求の HTTP メソッド。可能な値は、POST、GET、PUT、および DELETE です。
MIME タイプ MIMEType HTTP、SOAP 要求の MIME タイプ。
ポート port HTTP、SOAP、IIOP ホスト上のサービスが提供される listen ポート。
プロトコル protocol HTTP、SOAP 要求を伝送する通信プロトコル。 現在サポートされているプロトコルは、HTTP、HTTPS、SOAP、および SOAPS です。
要求ヘッダー名 header$<name> HTTP、SOAP

ヘッダー名または値。ヘッダー名および値。例えば、式 header$Host='localhost' は、要求に値が localhost の HTTP ホスト・ヘッダーが含まれているかどうかをテストします。ホスト・ヘッダーが存在するかどうかをテストするには、 次のいずれかを使用します。

header$Host IS NOT NULL ,header$Host IS NULL

要求照会パラメーター名 queryparm$<name> HTTP、SOAP 要求 URL で指定する照会パラメーター名。要求ごとに、照会パラメーターの名前と値のペア・マップがあります (存在する場合)。オンデマンド・ルーター (ODR) は、要求照会パラメーター名をパラメーター・マップを検索するためのキーとして使用し、存在していれば、値を抽出して、ルール式を評価します。ルールが一致した場合、指定されたアクションが実行されます。一致しない場合、式が定義されている作業クラスのデフォルト・アクションが使用されます。
例えば、式 queryparm$timezone=’EST’ は、 要求に timezone という名前で値が EST の HTTP 照会パラメーターが含まれているかどうかをテストします。照会パラメーターが存在するかどうかをテストするには、次のいずれかのコマンドを使用します。
  • queryparm$timezone IS NOT NULL
  • queryparm$timezone IS NULL
ロール roles$<name> HTTP、SOAP 要求送信側のロール。
サーバー・ホスト serverhost HTTP、SOAP、IIOP サーバーの完全修飾ホスト名。このオペランドは、>、>=、<、<= などの数値演算子はサポートしません。
サーバー IPV4 serveripv4 HTTP、SOAP IPv4 のドット付きクワッド・アドレス・タイプ n.n.n.n を使用した、サーバー・マシンの IP アドレス。
サーバー IPV6 serveripv6 HTTP、SOAP RFC 1924 に従った、サーバー・マシンの x:x:x:x:x:x:x:x の IPv6 128 ビットのアドレス・タイプ。
時間 time HTTP、SOAP、IIOP
時間オペランドの形式は [dayOfWeek[/dayOfMonth[/month[/year]]]::][hour[:minute[:second]]] です。
  • dayofWeek 値は Sun、Mon、Tue、Wed、Thu、Fri、Sat です。
  • dayOfMonth は 1-31 の値です。
  • month は月を表わす数値で、1 が 1 月、... 12 が 12 月となっています。例えば、5 という数値は 5 月を表わします。
  • year は 4 桁の年です。例えば 2007
  • hour は 24 時間クロックの時刻です。
  • minute は 0 から 59 の整数です。
  • second は 0 から 59 の整数です。

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

ユーザー ID uid$<name> HTTP、SOAP 要求送信側のユーザー ID。
仮想ポータル virtualportal HTTP、SOAP 仮想ポータルは WebSphere Portal Server 内で作成され、WebSphere Virtual Enterprise は、WebSphere Portal Server と適切に統合するためにこのオペランドをサポートします。仮想ポータルは、要求 URL から WebSphere Portal アプリケーションの Web モジュールのコンテキスト・ルートを取り去ったものです。指定された要求が定義された仮想ポータルに一致すると、該当ルールに定義されたルーティング・アクションが実行されます。
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

演算子
  • = 等価演算子は、大/小文字を区別した一致を表します。
  • <> not equal 演算子は、オペランド値が入力された値に等しくないことを表します。
  • > より大演算子は、数値に使用されます。
  • >= 以上演算子は、数値に使用されます。
  • < より小演算子は、数値に使用されます。
  • <= 以下演算子は、数値に使用されます。
  • AND: xx AND yy では、 xx および yy の両方を含む一致を表します。
  • BETWEEN: この演算子は AND とともに使用されて、最初 (低い) の値と最後 (高い) の値の間の範囲の値を選択します (両端を含む)。数値および日付にも使用できます。
  • EXISTS: このブール演算子は、 例えば、特定の HTTP ヘッダー・エレメントの属性を検査しながら、 複合副次式のオペランドまたは結果を検査します。
  • IN: 複数の値を持つオペランドを単一の式で表します。例えば、port というオペランドで、ポート値が 908090909091 などの任意またはすべての値を表す場合、式フラグメントは port IN (9080,9090, 9091) となります。 大括弧内の値の表現方法は、ポートのデータ・タイプにより異なります。ポートが整数の場合、正しい構文は引用符なしの値です。ポートがストリングの場合、正しい構文は port IN (‘9080’, ‘9090’, ‘9091’) です。
  • IS NULL: この演算子は、照会の妥当性検査で、要求されたパラメーターが存在しないことを示します。
  • IS NOT NULL: この演算子は、照会の妥当性検査で、要求されたパラメーターが存在することを示します。
  • LIKE: この演算子は、ストリング・オペランド値のパターン・マッチングを示します。値には、パターン・マッチングを開始する位置にワイルドカード文字の % 記号 (%) が含まれている必要があります。例えば、式 host LIKE %blanca は、ワード blanca または blanca で終わる他のすべてのワードと一致し、式 host LIKE blanca% は、ワード blanca または blanca で始まる他のすべてのワードと一致し、式 host LIKE %blanca% はワード blanca またはスペルに blanca があるすべてのワードと一致します。
  • NOT: NOT xx の場合、この演算子は、xx を含まない一致を表します。
  • OR: xx OR yy の場合、この演算子は、xx または yy のいずれかを含む一致を表します。

選択する演算子に応じて、作成する副次式の値を入力します。

ビルド副次式

指定したオペランド、演算子、および値の結果として副次式を生成します。

生成済み副次式

この副次式を、使用するルールにコピー/貼り付けします。




WebSphere Extended Deployment インフォメーション・センター (オンライン)

関連情報
オンデマンド・ルーターのルーティング・ポリシー
オンデマンド・ルーターのサービス・ポリシー
作業クラス・メンバーシップおよびルールの定義

wc_rulebuilder_detail