3.1.4.18 GetUpdateDecryptionData

A  DSS SHOULD<62> call the GetUpdateDecryptionData method to get the decryption data for the list of update IDs requested.

 <wsdl:operation name="GetUpdateDecryptionData">
   <wsdl:input message="tns:GetUpdateDecryptionDataSoapIn" />
   <wsdl:output message="tns:GetUpdateDecryptionDataSoapOut" />
 </wsdl:operation>

The SOAP operation is defined as follows:

 <soap:operation soapAction="http://www.microsoft.com/SoftwareDistribution/GetUpdateDecryptionData" style="document" />

Request validation:

The USS validates inputs as given in the following table. If any of the inputs is not valid, the USS MUST return a SOAP fault message to the DSS with the <ErrorCode> set, as shown in the table.

Input

Validation conditions

ErrorCode

cookie

MUST be present and nonempty.

The EncryptedData MUST be the correct format such that the USS can read values out of it, as specified in section 2.2.4.8.

InvalidCookie

protocolVersion in the cookie EncryptedData

MUST be of the format x.y where x is the major version and y is the minor version number.

InvalidParameters

protocolVersion in the cookie EncryptedData

Major version MUST be 1.

IncompatibleProtocolVersion

updateIds

MUST NOT be NULL.

The number of elements in the array MUST NOT be greater than the MaxUpdatesPerRequestInGetUpdateDecryptionData value returned in the GetConfigData (section 3.1.4.4) response message.

InvalidParameters

Data processing:

The USS MUST process this message as follows:

  1. For each UpdateIdentity requested, search for the file(s) associated with the requested UpdateIdentity, in the File Table. For each file found, create an entry in the ArrayOfServerSyncUpdateFileDecryption element of the response. Initialize the entry as follows:

    1. Set the UpdateId element to the requested UpdateIdentity.

    2. Create a ServerSyncFileDecryption entry in the ArrayOfServerSyncFileDecryption element. Initialize the entry as follows:

      1. Initialize the FileDigest element with the FileDigest retrieved from the File Table.

      2. Initialize the DecryptionKey element with the DecryptionKey retrieved from the File Table. This value MAY be NULL.

Response:

If no errors occur during processing, the USS MUST return the success response to the DSS.

If an error occurs during processing, the USS MUST return a SOAP fault. The SOAP fault SHOULD contain an <ErrorCode> element, as defined in section 2.2.9.

If the DSS receives a SOAP fault containing an <ErrorCode> element, it MUST react to the fault with one of the following error codes, which are defined in section 2.2.9.3.

  • InvalidParameters

  • InternalServerError

  • InvalidCookie

  • IncompatibleProtocolVersion

If the DSS receives a fault that does not contain an <ErrorCode> element, it MUST stop the protocol.