Testing Server Exceptions

Here are additional Test Server Query String Syntax parameters for clients to programmatically trigger server exceptions. Client developers can use these commands to test how their client devices or applications react when they receive an exception from a license server when they expect a license response. Examples include testing how a device reacts when it is revoked.

Here is a transaction example:

HTTP/1.1 500 Internal Server Error
Cache-Control: private
Content-Length: 764
Content-Type: text/xml; charset=utf-8

<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <soap:Fault>
            <faultcode>soap:Server</faultcode><faultstring>
                System.Web.Services.Protocols.SoapException: Device Certificate Revoked.
                at Microsoft.Media.Drm.RightsManager.ConvertRmServerException(RMServerException ex)
                at Microsoft.Media.Drm.RightsManager.AcquireLicense(XmlDocument challenge)
            </faultstring><faultactor>http://prtsprod-rightsmanager.azurewebsites.net/rightsmanager.asmx?cfg=(errorcode:0x8004c065)</faultactor><detail><Exception><StatusCode>0x8004c065</StatusCode></Exception></detail>
        </soap:Fault>
    </soap:Body>
</soap:Envelope>

Parameters

Value Meaning Comments, Examples, Default Value
errorcode:XXXXXXXX Request the server to respond with an exception http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(errorcode:0xXXXXXXXX)
errorcode:8004C065 Server respond with the exception:
DRM_E_DEVCERT_REVOKED
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(errorcode:0x8004c065)
Server can't deliver a license to a revoked client
errorcode:8004C600 Server respond with the exception:
DRM_E_SERVER_INTERNAL_ERROR
RMServerException("internal error")
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(errorcode:0x8004c600)
Server throws an internal server exception
errorcode:8004C601 Server respond with the exception:
DRM_E_SERVER_INVALID_MESSAGE
RMServerException("invalid message")
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(errorcode:0x8004c601)
The request sent to the server was invalid
errorcode:8004C60B Server respond with the exception:
DRM_E_SERVER_PROTOCOL_VERSION_MISMATCH
RMServerException("protocol version mismatch")
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(errorcode:0x8004c60b)
The protocol version specified in the request was not supported by the server
errorcode:8004C604 Server respond with the exception:
DRM_E_SERVER_SERVICE_SPECIFIC
RMServerException("service specific")
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(errorcode:0x8004c604)
The server throws a service specific exception (typically from the license handler)
errorcode:8004C60D Server respond with the exception:
DRM_E_SERVER_PROTOCOL_REDIRECT
ClientRedirectException()
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(errorcode:0x8004c60d)
The protocol has a redirect
errorcode:8004C605 Server respond with the exception:
DRM_E_SERVER_DOMAIN_REQUIRED
DomainRequiredException()
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(errorcode:0x8004c605)
In a domain scenario, server received a standard license request from client and requires the client to join domain in order to receive a domain-bound license
errorcode:8004C606 Server respond with the exception:
DRM_E_SERVER_RENEW_DOMAIN
RenewDomainException()
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(errorcode:0x8004c606)
In a domain scenario, server received a request from client with a domain certificate including an outdated domain version. Require the client to update its domain certificate
errorcode:8004C602 Server respond with the exception:
DRM_E_SERVER_DEVICE_LIMIT_REACHED
ClientLimitReachedException()
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(errorcode:0x8004c602)
In a domain scenario, server was willing to add client to a domain account but the account has already reached the limit of number of devices
errorcode:8004C60A Server respond with the exception:
DRM_E_SERVER_NOT_A_MEMBER
ClientNotADomainMemberException()
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(errorcode:0x8004c60a)
In a domain scenario, server received a valid domain bound license request from client, but client has been previously removed from domain by service
errorcode:8004C60C Server respond with the exception:
DRM_E_SERVER_UNKNOWN_ACCOUNTID
UnknownAccountException()
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(errorcode:0x8004c60c)
In a domain scenario, server received a domain bound license request from client for a certain account id, but this id is unknown to the service