Previous Table of Contents Next


16.4.1 DCE_CIOP Invoke Request Message


   DCE-CIOP invoke request messages encode CORBA object requests, including attribute accessor operations and CORBA::Object operations such as get_interface and get_implementation. Invoke requests are passed from client to server as the request_message parameter of an invoke RPC.

   A DCE-CIOP invoke request message is made up of a header and a body. The header has a fixed format, while the format of the body is determined by the operation’s IDL definition.

   16.4.1.1 Invoke request header

   DCE-CIOP request headers have the following structure:

   module DCE_CIOP { // IDL

   struct InvokeRequestHeader { boolean byte_order; IOP::ServiceContextList service_context; sequence <octet> object_key; string operation; CORBA::Principal principal;

   // in and inout parameters follow }; };

   The members have the following definitions:

   • object_key contains opaque data used to identify the object that is the target of the operation5. Its value is obtained from the object_key field of the TAG_INTERNET_IOP profile or the TAG_COMPLETE_OBJECT_KEY component of the TAG_MULTIPLE_COMPONENTS profile.

   • operation contains the name of the CORBA operation being invoked. The case of the operation name must match the case of the operation name specified in the OMG IDL source for the interface being used.

   Attribute accessors have names as follows:

   CORBA::Object pseudo-operations have operation names as follows:

   • Principal contains a value identifying the requesting principal. No particular meaning or semantics are associated with this value. It is provided to support the BOA::get_principal operation.

   16.4.1.2 Invoke request body

   The invoke request body contains the following items encoded in this order: