Message Contents The messages in the protocol consist of a message header, one or more batch items (which contain OPTIONAL message payloads), and OPTIONAL message extensions. The message headers contain fields whose presence is determined by the protocol features used (e.g., asynchronous responses). The field contents are also determined by whether the message is a request or a response. The message payload is determined by the specific operation being requested or to which is being replied. The message headers are structures that contain some of the following objects. Protocol Version This field contains the version number of the protocol, ensuring that the protocol is fully understood by both communicating parties. The version number SHALL be specified in two parts, major and minor. Servers and clients SHALL support backward compatibility with versions of the protocol with the same major version. Support for backward compatibility with different major versions is OPTIONAL. Object Encoding Protocol Version Structure Protocol Version Major Integer Protocol Version Minor Integer Table : Protocol Version Structure in Message Header Operation This field indicates the operation being requested or the operation for which the response is being returned. The operations are defined in Sections 4 and 5. Object Encoding Operation Enumeration, see 9.1.3.2.27 Table : Operation in Batch Item Maximum Response Size This is an OPTIONAL field contained in a request message, and is used to indicate the maximum size of a response, in bytes, that the requester SHALL be able to handle. It SHOULD only be sent in requests that possibly return large replies. Object Encoding Maximum Response Size Integer Table : Maximum Response Size in Message Request Header Unique Batch Item ID This is an OPTIONAL field contained in a request, and is used for correlation between requests and responses. If a request has a Unique Batch Item ID, then responses to that request SHALL have the same Unique Batch Item ID.
Message Contents The messages in the protocol consist of a message header, one or more batch items (which contain OPTIONAL message payloads), and OPTIONAL message extensions. The message headers contain fields whose presence is determined by the protocol features used (e.g., asynchronous responses). The field contents are also determined by whether the message is a request or a response. The message payload is determined by the specific operation being requested or to which is being replied. The message headers are structures that contain some of the following objects. Protocol Version This field contains the version number of the protocol, ensuring that the protocol is fully understood by both communicating parties. The version number SHALL be specified in two parts, major and minor. Servers and clients SHALL support backward compatibility with versions of the protocol with the same major version. Support for backward compatibility with different major versions is OPTIONAL. Object Encoding Protocol Version Structure Protocol Version Major Integer Protocol Version Minor Integer Table : Protocol Version Structure in Message Header Operation This field indicates the operation being requested or the operation for which the response is being returned. The operations are defined in Sections 4 and 5. Object Encoding Operation Enumeration, see 9.1.3.2.27 Table : Operation in Batch Item Maximum Response Size This is an OPTIONAL field contained in a request message, and is used to indicate the maximum size of a response, in bytes, that the requester SHALL be able to handle. It SHOULD only be sent in requests that possibly return large replies. Object Encoding Maximum Response Size Integer Table : Maximum Response Size in Message Request Header Unique Batch Item ID This is an OPTIONAL field contained in a request, and is used for correlation between requests and responses. If a request has a Unique Batch Item ID, then responses to that request SHALL have the same Unique Batch Item ID.