Previous Table of Contents Next


7.1 Overview

   The Dynamic Invocation Interface (DII) allows dynamic creation and invocation of requests to objects. A client using this interface to send a request to an object obtains the same semantics as a client using the operation stub generated from the type specification.

   A request consists of an object reference, an operation, and a list of parameters. The ORB applies the implementation-hiding (encapsulation) principle to requests.

   In the Dynamic Invocation Interface, parameters in a request are supplied as elements of a list. Each element is an instance of a NamedValue (see Section 7.1.1, “Common Data Structures,? on page 7-2). Each parameter is passed in its native data form.

   Parameters supplied to a request may be subject to run-time type checking upon request invocation. Parameters must be supplied in the same order as the parameters defined for the operation in the Interface Repository.

   The standard user exception WrongTransaction is defined in the CORBA module, prior to the definitions of the ORB and Request interfaces, as follows:

   exception WrongTransaction {};

   This exception can be raised only if the request is implicitly associated with a transaction (the current transaction at the time that the request was issued).