2.2.4.3.4 errorInfo Element

The errorInfo element provides out-of-band error reporting and recovery. It is used to provide support for partial completion of the operations by scoping the failures down to the failing object, rather than the entire operation.

The errorInfo element is inserted into the stream whenever the server internally encounters an error retrieving information or building the necessary information to serialize the messaging object. The errorInfo element can be inserted wherever a lexical structure, specified in section 2.2.4.1, allows a marker or a propValue element.

This element SHOULD be used if and only if the RecoverMode flag of the SendOptions field is set. Note that by the time a server encounters an error that requires failing the download of a messaging object in context, it might have already output some part of the data pertaining to that object in the previous buffer.

Clients MUST support parsing of this element if the client set the RecoverMode flag in the SendOptions field.

Whenever a server or a client produces or parses this element, it MUST unwind its producing or parsing stack up to, but not including, the closest element that supports recovery. The current version of the protocol defines two such elements: contentsSync, as specified in section 2.2.4.3.2, and messageList, as specified in section 2.2.4.3.17. Upon receiving this element, clients can perform additional steps to remove a faulty object from future synchronizations, as described in section 3.3.5.10.

The following table lists the restrictions that exist on the contained propList element, as specified in section 2.2.4.3.20.

Property type name

Restrictions

Comments

[PtypBinary] ([MS-OXCDATA] section 2.11.1)

0x00000102

Required

Fixed position

Serialized ExtendedErrorInfo structure, as specified in section 2.2.2.10.

< other properties >

Prohibited

None.