モジュール java.corba

インタフェース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​()
      呼び出されるオペレーションの名前を返します。
      String[] operation_context​()
      このリクエストで送信されるコンテキストを含むStringオブジェクトの配列を返します。
      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でスローされる。