1.7 Versioning and Capability Negotiation

This specification covers versioning issues in the following areas:

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

  • Protocol Versions: The RMS: Client-to-Server Protocol client and server have versions 1.0, 1.0 SP1, 1.0 SP2, and 2.0. Version 2.0 introduced the Template Distribution service and WSDL port type.

  • Security and Authentication Methods: The SOAP protocol passively supports NT LAN Manager (NTLM) authentication over HTTP or HTTPS, as specified in [NTLM].

  • Localization: The RMS: Client-to-Server Protocol has no localization-dependent behaviors.

  • Capability Negotiation: The RMS: Client-to-Server Protocol supports limited capability negotiation via the VersionData type that is present on all protocol requests. On a request, the VersionData structure contains a MinimumVersion and MaximumVersion value indicating the range of versions the client is capable of understanding. On a response, the VersionData structure contains a MinimumVersion and MaximumVersion that the server is capable of understanding.<1>

    This protocol can be spread across multiple servers. To determine which servers are capable of specific methods, the client calls the FindServiceLocationsForUser (section 3.7.4.2) method in the Server Service (section 3.7).