1.7 Versioning and Capability Negotiation

This document covers versioning issues in the following areas:

  • Supported Transports: This protocol is implemented on top of HTTP, as specified in section 2.1.

  • Protocol Versions: The ServerSoap (FindServiceLocations) interface has only one version that is implemented using a SOAP-based protocol over HTTP. The Binary Group Expansion interface is used by RMS version 1.0 and RMS version 1.0 SP1. It is also used by RMS version 1.0 SP2 for backward compatibility when communicating with RMS version 1.0 servers or RMS version 1.0 SP1 servers. The GroupExpansionWebServiceSoap port type is used by RMS version 1.0 SP2 servers and RMS version 2.0 servers.<1>

  • Security and Authentication Methods: This protocol passively supports Kerberos authentication over HTTP or HTTPS (as specified in [KERBKEY]) and NTLM authentication over HTTP or HTTPS (as specified in [NTLM]).

  • Localization: There are no localization-dependent behaviors for the RMS: Server-to-Server Protocol.

  • Capability Negotiation: The RMS: Server-to-Server Protocol supports limited capability negotiation by way of the VersionData type that is present on all SOAP-based protocol requests. On a request, the VersionData structure contains a MinimumVersion and MaximumVersion value, indicating the range of versions that the client is capable of understanding. On a response, the VersionData structure contains a MinimumVersion and MaximumVersion that the server is capable of understanding. The Binary Group Expansion versioning structure must be adhered to for Binary Group Expansion requests.