org.omg.CORBA

## Class Request

- java.lang.Object
- - org.omg.CORBA.Request

-     public abstract class Request
      extends Object

  An object containing the information necessary for invoking a method. This class is the cornerstone of the ORB Dynamic Invocation Interface (DII), which allows dynamic creation and invocation of requests. A server cannot tell the difference between a client invocation using a client stub and a request using the DII.

  A `Request` object consists of:

  - the name of the operation to be invoked
  - an `NVList` containing arguments for the operation.
    Each item in the list is a `NamedValue` object, which has three parts:
    1. the name of the argument
    2. the value of the argument (as an `Any` object)
    3. the argument mode flag indicating whether the argument is for input, output, or both

  `Request` objects may also contain additional information, depending on how an operation was defined in the original IDL interface definition. For example, where appropriate, they may contain a `NamedValue` object to hold the return value or exception, a context, a list of possible exceptions, and a list of context strings that need to be resolved.

  New `Request` objects are created using one of the `create_request` methods in the `Object` class. In other words, a `create_request` method is performed on the object which is to be invoked.

  See Also:
    `NamedValue`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Request()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract Any` | `add_in_arg()` | Creates an input argument and adds it to this `Request` object.
    `abstract Any` | `add_inout_arg()` | Adds an input/output argument to this `Request` object.
    `abstract Any` | `add_named_in_arg(String name)` | Creates an input argument with the given name and adds it to this `Request` object.
    `abstract Any` | `add_named_inout_arg(String name)` | Adds an input/output argument with the given name to this `Request` object.
    `abstract Any` | `add_named_out_arg(String name)` | Adds an output argument with the given name to this `Request` object.
    `abstract Any` | `add_out_arg()` | Adds an output argument to this `Request` object.
    `abstract NVList` | `arguments()` | Retrieves the `NVList` object containing the arguments to the method being invoked.
    `abstract ContextList` | `contexts()` | Retrieves the `ContextList` object for this request.
    `abstract Context` | `ctx()` | Retrieves the `Context` object for this request.
    `abstract void` | `ctx(Context c)` | Sets this request's `Context` object to the one given.
    `abstract Environment` | `env()` | Retrieves the `Environment` object for this request.
    `abstract ExceptionList` | `exceptions()` | Retrieves the `ExceptionList` object for this request.
    `abstract void` | `get_response()` | Allows the user to access the response for the invocation triggered earlier with the `send_deferred` method.
    `abstract void` | `invoke()` | Makes a synchronous invocation using the information in the `Request` object.
    `abstract String` | `operation()` | Retrieves the name of the method to be invoked.
    `abstract boolean` | `poll_response()` | Allows the user to determine whether a response has been received for the invocation triggered earlier with the `send_deferred` method.
    `abstract NamedValue` | `result()` | Retrieves the `NamedValue` object containing the return value for the method.
    `abstract Any` | `return_value()` | Returns the `Any` object that contains the value for the result of the method.
    `abstract void` | `send_deferred()` | Makes an asynchronous invocation on the request.
    `abstract void` | `send_oneway()` | Makes a oneway invocation on the request.
    `abstract void` | `set_return_type(TypeCode tc)` | Sets the typecode for the return value of the method.
    `abstract Object` | `target()` | Retrieves the the target object reference.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Request

          public Request()

  - ### Method Detail

    - #### target

          public abstract Object target()

      Retrieves the the target object reference.
      Returns:
        the object reference that points to the object implementation for the method to be invoked

    - #### operation

          public abstract String operation()

      Retrieves the name of the method to be invoked.
      Returns:
        the name of the method to be invoked

    - #### arguments

          public abstract NVList arguments()

      Retrieves the `NVList` object containing the arguments to the method being invoked. The elements in the list are `NamedValue` objects, with each one describing an argument to the method.
      Returns:
        the `NVList` object containing the arguments for the method

    - #### result

          public abstract NamedValue result()

      Retrieves the `NamedValue` object containing the return value for the method.
      Returns:
        the `NamedValue` object containing the result of the method

    - #### env

          public abstract Environment env()

      Retrieves the `Environment` object for this request. It contains the exception that the method being invoked has thrown (after the invocation returns).
      Returns:
        the `Environment` object for this request

    - #### exceptions

          public abstract ExceptionList exceptions()

      Retrieves the `ExceptionList` object for this request. This list contains `TypeCode` objects describing the exceptions that may be thrown by the method being invoked.
      Returns:
        the `ExceptionList` object describing the exceptions that may be thrown by the method being invoked

    - #### contexts

          public abstract ContextList contexts()

      Retrieves the `ContextList` object for this request. This list contains context `String`s that need to be resolved and sent with the invocation.
      Returns:
        the list of context strings whose values need to be resolved and sent with the invocation.

    - #### ctx

          public abstract Context ctx()

      Retrieves the `Context` object for this request. This is a list of properties giving information about the client, the environment, or the circumstances of this request.
      Returns:
        the `Context` object that is to be used to resolve any context strings whose values need to be sent with the invocation

    - #### ctx

          public abstract void ctx(Context c)

      Sets this request's `Context` object to the one given.
      Parameters:
        `c` - the new `Context` object to be used for resolving context strings

    - #### add_in_arg

          public abstract Any add_in_arg()

      Creates an input argument and adds it to this `Request` object.
      Returns:
        an `Any` object that contains the value and typecode for the input argument added

    - #### add_named_in_arg

          public abstract Any add_named_in_arg(String name)

      Creates an input argument with the given name and adds it to this `Request` object.
      Parameters:
        `name` - the name of the argument being added
      Returns:
        an `Any` object that contains the value and typecode for the input argument added

    - #### add_inout_arg

          public abstract Any add_inout_arg()

      Adds an input/output argument to this `Request` object.
      Returns:
        an `Any` object that contains the value and typecode for the input/output argument added

    - #### add_named_inout_arg

          public abstract Any add_named_inout_arg(String name)

      Adds an input/output argument with the given name to this `Request` object.
      Parameters:
        `name` - the name of the argument being added
      Returns:
        an `Any` object that contains the value and typecode for the input/output argument added

    - #### add_out_arg

          public abstract Any add_out_arg()

      Adds an output argument to this `Request` object.
      Returns:
        an `Any` object that contains the value and typecode for the output argument added

    - #### add_named_out_arg

          public abstract Any add_named_out_arg(String name)

      Adds an output argument with the given name to this `Request` object.
      Parameters:
        `name` - the name of the argument being added
      Returns:
        an `Any` object that contains the value and typecode for the output argument added

    - #### set_return_type

          public abstract void set_return_type(TypeCode tc)

      Sets the typecode for the return value of the method.
      Parameters:
        `tc` - the `TypeCode` object containing type information for the return value

    - #### return_value

          public abstract Any return_value()

      Returns the `Any` object that contains the value for the result of the method.
      Returns:
        an `Any` object containing the value and typecode for the return value

    - #### invoke

          public abstract void invoke()

      Makes a synchronous invocation using the information in the `Request` object. Exception information is placed into the `Request` object's environment object.

    - #### send_oneway

          public abstract void send_oneway()

      Makes a oneway invocation on the request. In other words, it does not expect or wait for a response. Note that this can be used even if the operation was not declared as oneway in the IDL declaration. No response or exception information is returned.

    - #### send_deferred

          public abstract void send_deferred()

      Makes an asynchronous invocation on the request. In other words, it does not wait for a response before it returns to the user. The user can then later use the methods `poll_response` and `get_response` to get the result or exception information for the invocation.

    - #### poll_response

          public abstract boolean poll_response()

      Allows the user to determine whether a response has been received for the invocation triggered earlier with the `send_deferred` method.
      Returns:
        `true` if the method response has been received; `false` otherwise

    - #### get_response

          public abstract void get_response()
                                     throws WrongTransaction

      Allows the user to access the response for the invocation triggered earlier with the `send_deferred` method.
      Throws:
        `WrongTransaction` - if the method `get_response` was invoked from a different transaction's scope than the one from which the request was originally sent. See the OMG Transaction Service specification for details.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.