メッセージ レイヤのコンテキスト変数

メッセージ レイヤのコンテキスト変数
gateway93
以下の表に、メッセージ レイヤに関連する事前定義済みのコンテキスト変数のリストを示します。
以下の表の変数は、SOAP Web サービスでのみ有効です。 これらは XML アプリケーションには適用されません。
変数
説明
${
<
target
>
.buffer.status}
以下のいずれかの文字列を返します。
  • uninitialized:
    まだ初期化されていません。 これは、ルーティング アサーションが実行される前のデフォルトの レスポンスです。
  • unread:
    初期化済みですが、メッセージ本文はまだ読み取られていません。 これは、ポリシー処理開始時のデフォルトの リクエストです。
  • buffered:
    これは、読み取り済みで、スタッシュ マネージャに格納され、処理に使用可能なメッセージの最初のパートです。
  • gone:
    これは、読み取り、処理済み、および使用可能ではなくなったメッセージの最初のパートです。
${
<
target
>
.contentType}
指定されたメッセージで
Layer7 API Gateway
が使用している Content-Type。これは転送固有のデフォルトである可能性があります。 HTTP ヘッダの Content-Type とは異なり、
Layer7 API Gateway
では、この値がすべてのメッセージに存在し、かつ空ではないことが保証されます。 メッセージに添付ファイルがあれば、これは常に「multipart/」で始まります。
${
<
targe
t>
.mainpart}
すべての添付ファイルを含めて、メイン/ルート MIME パートの本文を返します。このメッセージを String 型に変えます。
${
<
target
>.
mainPart.contentType}
指定されたメッセージの最初のパートで
Layer7 API Gateway
が使用している Content-Type。これは転送固有のデフォルトである可能性があります。 HTTP ヘッダの Content-Type とは異なり、
Layer7 API Gateway
では、この値がすべてのメッセージに存在し、かつ空ではないことが保証されます。 メッセージに添付ファイルがない場合、これは通常 ${foo.contentType} と同じになります。
${
<
target
>
.mainpart.size}
添付ファイルを含めない、メッセージの最初の(XML)パートの実サイズ(バイト単位)を返します。
${
<
target
>.
originalmainpart}
DOM による
Layer7 API Gateway
での変更(暗号化された要素の WSS プロセッサによる復号化など)が行われる前のメイン/ルート MIME パートの本文。 これは、audit.originalMainPart.enable クラスタ プロパティが「true」に設定されている場合にのみ使用できます。
${
<
target
>
.parts.1}
メッセージのメイン/ルート MIME パートのコンテンツがバイナリ データとしてアクセス可能な場合に、そのバイナリ データを返します。
${
<
target
>
.parts.1.body}
メッセージのメイン/ルート MIME パートのコンテンツがテキストとしてアクセス可能な場合に、そのテキストを返します。
${
<
target
>
.parts.1.contentType}
メッセージのメイン/ルート MIME パートの完全な Content-Type を返します。
${
<
target>
.parts.1.header.<name>}
メイン/ルート MIME パートのヘッダ値(例: 「header.content-ID」)を返します。
${
<
target
>
.parts.1.size}
メイン/ルート MIME パートのサイズ(バイト単位)を返します。
${
<
target
>
.parts.X}
メッセージの X 番目の MIME パートのコンテンツがバイナリ データとしてアクセス可能な場合に、そのバイナリ データを返します。
X:
1 とメッセージで使用可能なパートの合計数の間の整数値を指定します。 メッセージで使用可能なパートの合計数を知るには、
${<target>.parts.length}
変数を使用します。
${<target>.parts}
組み込み変数を複数値のコンテキスト変数として使用できます。 Run Assertions for Each Item アサーションを使用することで、個々のパートのサブ変数を参照できます。
Run Assertion.png
${
<t
arget
>
.parts.X.body}
メッセージの X 番目の MIME パートのコンテンツがテキストとしてアクセス可能な場合に、そのテキストを返します。
${
<
target
>
.parts.X.contentType}
メッセージの X 番目の MIME パートの完全な Content-Type を返します。
${
<
target
>
.parts.X.header.<name>}
X 番目の MIME パートのヘッダ値(例: 「header.content-ID」)を返します。
${
<
target
>
.parts.X.size}
X 番目の MIME パートのサイズ(バイト単位)を返します。
${
<
target
>.
size}
すべての添付ファイルを含めたメッセージ全体の実サイズ(バイト単位)。 Content-Length ヘッダは無視されます。
${request.listener.concurrency}
受信 HTTP および HTTPS リクエストに対して、現在のリクエストがハンドラ スレッドにディスパッチされたときに、現在のリクエストを処理しているスレッド プール内でアクティブなリクエスト スレッドの数を返します。
${request.soap.envelopeNs}
リクエストの SOAP エンベロープのネームスペースを返します。 使用可能な値は以下のとおりです。
http://schemas.xmlsoap.org/soap/envelope/ http://www.w3.org/2003/05/soap-envelope null ("")
${request.soap.version}
リクエストの SOAP バージョンを返します。 次の値が返される可能性があります: 1.1、1.2、または NULL ("")。
${request.soap.namespace}
SOAP ペイロードのネームスペース URI の値を返します。
${request.soap.operation}
SOAP 操作の名前を返します。
${response.cookie.overwriteDomain}
Cookie のドメインを上書きするかどうかを制御します。 値はブール値です。
  • true
    =
    Layer7 API Gateway
    は、レスポンスの Cookie のドメインを
    Layer7 API Gateway
    のリクエストのドメインで上書きする可能性があります。 これがデフォルトの設定です。
  • false
    = 元の Cookie のドメインを維持します。
(1)ルーティングを行う前にこの変数を設定します。 コンテキストに Cookie がない場合は、この変数による影響はありません。 (2)一部のリバース プロキシ シナリオでは、この変数を「false」に設定する必要があります。 (3)値が親ポリシーに引き継がれないため、この変数をカプセル化されたアサーション内で設定しないでください。
${response.cookie.overwritePath}
Cookie のパスを上書きするかどうかを制御します。 値はブール値です。
  • true
    =
    Layer7 API Gateway
    は、レスポンスの Cookie を
    Layer7 API Gateway
    のサービスのパスで上書きする可能性があります。
    (デフォルト)
  • false
    = 元の Cookie のパスを維持します。 このパスが NULL の場合は、目的のサービスのパスが使用されます(以下の例を参照)。
パスが NULL である場合の例: http://host/example/test.jsp への HTTP ルーティングを考えてみます。 「test.jsp」が NULL の Cookie のパスを返す場合、
${response.cookie.overwritePath}
が「false」に設定されていると、
Layer7 API Gateway
が返す Cookie のパスは「/example」になります。
(1)ルーティングを行う前にこの変数を設定しておくことをお勧めします。 コンテキストに Cookie がない場合は、この変数による影響はありません。 (2)一部のリバース プロキシ シナリオでは、この変数を「false」に設定する必要があります。 (3)値が親ポリシーに引き継がれないため、この変数をカプセル化されたアサーション内で設定しないでください。
${response.soap.envelopeNs}
レスポンスの SOAP エンベロープのネームスペースを返します。 使用可能な値は以下のとおりです。
http://schemas.xmlsoap.org/soap/envelope/
http://www.w3.org/2003/05/soap-envelope
NULL ("")
${response.soap.version}
レスポンスの SOAP バージョンを返します。 次の値が返される可能性があります: 1.1、1.2、または NULL ("")。