DSOM supports the CORBA dynamic invocation interface (DII), which clients can use to dynamically build and invoke requests on objects. This section describes how to use the DSOM DII. Currently, DSOM supports dynamic request invocation only on objects outside the address space of the request initiator, via proxies. The somDispatch method (non-CORBA) can be used to invoke methods dynamically on either local or remote objects, however.
To invoke a request on an object using the DII, the client must explicitly construct and initiate the request. A request is comprised of an object reference, an operation, a list of arguments for the operation, and a return value from the operation. A key to proper construction of the request is the correct usage of the NamedValue structure and the NVList object. The return value for an operation is supplied to the request in the form of a NamedValue structure. In addition, it is usually most convenient to supply the arguments for a request in the form of an NVList object, which is an ordered set of NamedValues. This section begins with a description of NamedValues and NVLists and then details the procedure for building and initiating requests.