JavaTM 2 Platform
Standard Ed. 5.0

org.omg.PortableInterceptor
インタフェース RequestInfoOperations

既知のサブインタフェースの一覧:
ClientRequestInfo, ClientRequestInfoOperations, RequestInfo, ServerRequestInfo, ServerRequestInfoOperations

public interface RequestInfoOperations

インタセプタがアクセスできる要求情報です。

各遮断点には、インタセプタが要求情報にアクセスするためのオブジェクトが用意されています。クライアント側とサーバ側の遮断点は別々の情報に関係しているため、2 つの情報オブジェクトが用意されています。つまり、ClientRequestInfo はクライアント側の遮断点に渡され、ServerRequestInfo はサーバ側の遮断点に渡されます。ただし、両方に共通している情報があるため、どちらのオブジェクトも共通インタフェース RequestInfo を継承します。

関連項目:
ClientRequestInfo, ServerRequestInfo

メソッドの概要
 Parameter[] arguments()
          呼び出されるオペレーションの引数を含む Parameter オブジェクトの配列を返します。
 String[] contexts()
          このオペレーション呼び出しで渡される可能性があるコンテキストを記述する String オブジェクトの配列を返します。
 TypeCode[] exceptions()
          このオペレーション呼び出しによってスローされる可能性があるユーザ例外の TypeCode を記述する TypeCode オブジェクトの配列を返します。
 Object forward_reference()
          reply_status 属性が LOCATION_FORWARD である場合は、要求の転送先となるオブジェクトを格納します。
 ServiceContext get_reply_service_context(int id)
          応答に関連付けられている指定の ID を持つサービスコンテキストのコピーを返します。
 ServiceContext get_request_service_context(int id)
          要求に関連付けられている指定の ID を持つサービスコンテキストのコピーを返します。
 Any get_slot(int id)
          要求のスコープ内にある PortableInterceptor.Current の指定のスロットからデータを返します。
 String[] operation_context()
          この要求で送信されるコンテキストを含む String オブジェクトの配列を返します。
 String operation()
          呼び出されるオペレーションの名前を返します。
 short reply_status()
          オペレーション呼び出しの結果の状態を記述します。
 int request_id()
          アクティブな要求/応答シーケンスを一意に識別する ID を返します。
 boolean response_expected()
          応答が予想されるかどうかを示します。
 Any result()
          オペレーション呼び出しの結果を格納する any を返します。
 short sync_scope()
          制御がクライアントに返されるまでに要求が転送される範囲を定義します。
 

メソッドの詳細

request_id

int request_id()
アクティブな要求/応答シーケンスを一意に識別する ID を返します。要求/応答シーケンスが終了すると、この ID は再利用できます。この ID と GIOP の request_id は同一ではありません。GIOP が転送機構で使用される場合は、これらの ID がまったく同じになることがありますが、このことは保証されておらず、また必須でもありません。


operation

String operation()
呼び出されるオペレーションの名前を返します。


arguments

Parameter[] arguments()
呼び出されるオペレーションの引数を含む Parameter オブジェクトの配列を返します。引数がない場合、この属性は長さ 0 の配列となります。

すべての環境で引数が利用できるわけではありません。たとえば、Java ポータブルバインディングを使用すると、引数は利用できなくなります。このような環境でこの属性にアクセスすると、標準マイナーコード 1 が設定された NO_RESOURCES がスローされます。

注: DSI/DII 呼び出しには引数が利用できます。

例外:
NO_RESOURCES - 引数が利用できない場合にスローされる
関連項目:
PortableInterceptor パッケージの既知の制限/実装されていないメソッドについてのコメント

exceptions

TypeCode[] exceptions()
このオペレーション呼び出しによってスローされる可能性があるユーザ例外の TypeCode を記述する TypeCode オブジェクトの配列を返します。ユーザ例外がない場合は、長さ 0 の配列を返します。

すべての環境で例外リストが利用できるわけではありません。たとえば、Java ポータブルバインディングを使用すると、例外リストは利用できなくなります。このような環境でこの属性にアクセスすると、標準マイナーコード 1 が設定された NO_RESOURCES がスローされます。

注: DSI/DII 呼び出しには例外が利用できます。

例外:
NO_RESOURCES - 例外が利用できない場合にスローされる
関連項目:
PortableInterceptor パッケージの既知の制限/実装されていないメソッドについてのコメント

contexts

String[] contexts()
このオペレーション呼び出しで渡される可能性があるコンテキストを記述する String オブジェクトの配列を返します。コンテキストがない場合は、長さ 0 の配列を返します。

すべての環境でコンテキストリストが利用できるわけではありません。たとえば、Java ポータブルバインディングを使用すると、コンテキストリストは利用できなくなります。このような環境でこの属性にアクセスすると、標準マイナーコード 1 が設定された NO_RESOURCES がスローされます。

注: DSI/DII 呼び出しにはコンテキストが利用できます。

例外:
NO_RESOURCES - コンテキストが利用できない場合にスローされる
関連項目:
PortableInterceptor パッケージの既知の制限/実装されていないメソッドについてのコメント

operation_context

String[] operation_context()
この要求で送信されるコンテキストを含む String オブジェクトの配列を返します。

すべての環境でコンテキストが利用できるわけではありません。たとえば、Java ポータブルバインディングを使用すると、コンテキストは利用できなくなります。このような環境でこの属性にアクセスすると、標準マイナーコード 1 が設定された NO_RESOURCES がスローされます。

注: DSI/DII 呼び出しには operation_context が利用できます。

例外:
NO_RESOURCES - オペレーションコンテキストが利用できない場合にスローされる
関連項目:
PortableInterceptor パッケージの既知の制限/実装されていないメソッドについてのコメント

result

Any result()
オペレーション呼び出しの結果を格納する any を返します。オペレーションの戻り値の型が void の場合、この属性は TCKind 値が tk_void に設定された値のない型コードを含む any となります。

すべての環境で結果が利用できるわけではありません。たとえば、Java ポータブルバインディングを使用すると、結果は利用できなくなります。このような環境でこの属性にアクセスすると、標準マイナーコード 1 が設定された NO_RESOURCES がスローされます。

注: DSI/DII 呼び出しには結果が利用できます。

例外:
NO_RESOURCES - 結果が利用できない場合にスローされる
関連項目:
PortableInterceptor パッケージの既知の制限/実装されていないメソッドについてのコメント

response_expected

boolean response_expected()
応答が予想されるかどうかを示します。

クライアントでは、response_expected が false のときは応答が返されないため、receive_reply を呼び出すことができません。例外がスローされない場合は receive_other が呼び出され、例外がスローされる場合は receive_exception が呼び出されます。

クライアントの send_poll 内では、この属性は true です。


sync_scope

short sync_scope()
制御がクライアントに返されるまでに要求が転送される範囲を定義します。これは、Messaging 仕様で定義され、response_expected が false の場合にだけ関係があります。response_expected が true の場合、sync_scope の値は定義されません。この属性には、次のどれかの値を指定できます。
  • Messaging.SYNC_NONE
  • Messaging.SYNC_WITH_TRANSPORT
  • Messaging.SYNC_WITH_SERVER
  • Messaging.SYNC_WITH_TARGET
サーバでは、どの範囲 (スコープ) の場合も、ターゲットとなるオペレーション呼び出しからの戻り値によって応答が作成されますが、その応答はクライアントに返されません。クライアントに返されなくても応答は作成されるため、通常のサーバ側の遮断点がそのあとに呼び出されます (つまり、receive_request_service_contextsreceive_requestsend_reply、または send_exception)。

SYNC_WITH_SERVERSYNC_WITH_TARGET の場合、サーバはターゲットが呼び出される前に、空の応答をクライアントに送り返します。この応答は、サーバ側のインタセプタによって遮断されません。

関連項目:
PortableInterceptor パッケージの既知の制限/実装されていないメソッドについてのコメント

reply_status

short reply_status()
オペレーション呼び出しの結果の状態を記述します。この戻り値は、次のどれかになります。
  • PortableInterceptor.SUCCESSFUL
  • PortableInterceptor.SYSTEM_EXCEPTION
  • PortableInterceptor.USER_EXCEPTION
  • PortableInterceptor.LOCATION_FORWARD
  • PortableInterceptor.TRANSPORT_RETRY
クライアント側:
  • receive_reply 遮断点内では、SUCCESSFUL だけが返されます。
  • receive_exception 遮断点内では、SYSTEM_EXCEPTION または USER_EXCEPTION のどちらかが返されます。
  • receive_other 遮断点内では、SUCCESSFULLOCATION_FORWARDTRANSPORT_RETRY のどれかが返されます。SUCCESSFUL は、非同期要求が正常に返されたことを意味します。LOCATION_FORWARD は、応答が LOCATION_FORWARD という状態で返されたことを意味します。TRANSPORT_RETRY は、転送機構が再試行 (NEEDS_ADDRESSING_MODE という状態の GIOP 応答など) を指示したことを意味します。
サーバ側:
  • send_reply 遮断点内では、SUCCESSFUL だけが返されます。
  • send_exception 遮断点内では、SYSTEM_EXCEPTION または USER_EXCEPTION のどちらかが返されます。
  • send_other 遮断点内では、SUCCESSFUL または LOCATION_FORWARD のどちらかが返されます。SUCCESSFUL は、非同期要求が正常に返されたことを意味します。LOCATION_FORWARD は、応答が LOCATION_FORWARD という状態で返されたことを意味します。

関連項目:
SUCCESSFUL, SYSTEM_EXCEPTION, USER_EXCEPTION, LOCATION_FORWARD, TRANSPORT_RETRY

forward_reference

Object forward_reference()
reply_status 属性が LOCATION_FORWARD である場合は、要求の転送先となるオブジェクトを格納します。転送された要求が実際に実行されるかどうかはわかりません。


get_slot

Any get_slot(int id)
             throws InvalidSlot
要求のスコープ内にある PortableInterceptor.Current の指定のスロットからデータを返します。

指定のスロットが設定されていない場合は、TCKind 値が tk_null に設定された型コードを含む any が返されます。

パラメータ:
id - 返されるスロットの SlotId
戻り値:
指定の ID を使って取得された any 形式のスロットデータ
例外:
InvalidSlot - この ID によって割り当て済みのスロットが定義されていない場合にスローされる
関連項目:
Current

get_request_service_context

ServiceContext get_request_service_context(int id)
要求に関連付けられている指定の ID を持つサービスコンテキストのコピーを返します。

パラメータ:
id - 返されるサービスコンテキストの IOP.ServiceId
戻り値:
指定の ID を使って取得された IOP.ServiceContext
例外:
BAD_PARAM - 要求のサービスコンテキストにその ID のエントリが含まれていない場合、標準マイナーコード 26 でスローされる

get_reply_service_context

ServiceContext get_reply_service_context(int id)
応答に関連付けられている指定の ID を持つサービスコンテキストのコピーを返します。

パラメータ:
id - 返されるサービスコンテキストの IOP.ServiceId
戻り値:
指定の ID を使って取得された IOP.ServiceContext
例外:
BAD_PARAM - 要求のサービスコンテキストにその ID のエントリが含まれていない場合、標準マイナーコード 26 でスローされる

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。