Previous Table of Contents Next


16.4.2 DCE-CIOP Invoke Response Message


   Invoke response messages are returned from servers to clients as the response_message parameter of an invoke RPC.

   Like invoke request messages, an invoke response message is made up of a header and a body. The header has a fixed format, while the format of the body depends on the operation’s OMG IDL definition and the outcome of the invocation.

   16.4.2.1 Invoke response header

   DCE-CIOP invoke response headers have the following structure:

   module DCE_CIOP { // IDL

   enum InvokeResponseStatus {INVOKE_NO_EXCEPTION,INVOKE_USER_EXCEPTION,INVOKE_SYSTEM_EXCEPTION,INVOKE_LOCATION_FORWARD,INVOKE_TRY_AGAIN

   };

   struct InvokeResponseHeader { boolean byte_order; IOP::ServiceContextList service_context; InvokeResponseStatus status;

   // if status = INVOKE_NO_EXCEPTION,

   // result then inouts and outs follow

   // if status = INVOKE_USER_EXCEPTION or // INVOKE_SYSTEM_EXCEPTION, an exception follows

   // if status = INVOKE_LOCATION_FORWARD, an // IOP::IOR follows }; };

   The members have the following definitions:

   16.4.2.2 Invoke Response Body

   The contents of the invoke response body depends on the value of the status member of the invoke response header, as well as the OMG IDL definition of the operation being invoked. Its format is one of the following: