3.1.6.7 Stream Output for Debug, Warning, Verbose, and Progress Messages Requested by Robust Operation

The HLP provides the stream ID and the output data. If the client request's __MI_CallbackRegistration did not set the corresponding stream flag, then the server takes no further action. Otherwise, the server locates the associated row in the OperationMessages table and performs the following steps:

  1. If the output type is Progress and the client request does not include the __MI_CallbackRegistration option, or includes the __MI_CallbackRegistration option with the 0x08 bit cleared in its value, the server MUST NOT take any further action. If the output type is Debug, Warning, or Verbose, and the client request omits the __MI_CallbackRegistration option, or includes the __MI_CallbackRegistration option with the 0x01 bit cleared in its value, the server MUST NOT take any further action. If the __MI_CallbackRegistration option  is present and either the 0x01 or 0x08 bits are set in its value and the __MI_OPERATIONOPTIONS_CHANNEL option is present but does not set the corresponding bit flag, then the server MUST NOT take any further action.

  2. The server generates a SOAP response whose body is an InteractiveEventComplexType, with the <eventType> element set according to the type of output and the remaining fields as specified by the HLP. The server appends the message to the Messages list, and restarts the Connection KeepAlive Timer. If the SecondaryConnection value is NULL, the server returns to the HLP.

  3. If the ResponseBegun value is false, then the server sends the HTTP headers of the response.  The response headers MUST indicate HTTP chunked encoding.

  4. The server sets the ResponseBegun value to true.

  5. The server sends the SOAP response in HTTP body data using the required HTTP encoding.