3.1.4.8 GetDriverSetData
The GetDriverSetData method SHOULD<43> get a list of driver set identities and their corresponding driver targeting XMLs. This method is only invoked when an upstream server (USS) syncs with Microsoft Update, which provides a list of driver set identities as input.
<wsdl:operation name="GetDriverSetData"> <wsdl:input message="tns:GetDriverSetDataSoapIn" /> <wsdl:output message="tns:GetDriverSetDataSoapOut" /> </wsdl:operation>
The SOAP operation is defined as follows.
-
<wsdl:operation name="GetDriverSetData"> <soap:operation soapAction="http://www.microsoft.com/SoftwareDistribution/GetDriverSetData" style="document" />
-
</wsdl:operation>
Request validation:
The USS validates inputs as specified in the following table. If any of the inputs are not valid, the USS MUST return a SOAP fault message with the <ErrorCode> set, as shown in the table.
Input |
Validation conditions |
ErrorCode |
---|---|---|
Cookie |
MUST be present and not empty. |
InvalidCookie |
Cookie |
The EncryptedData MUST be the correct format such that the USS can read values out of it, as specified in section 2.2.4.4. |
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 |
driverSets in the GetDriverSetData method |
Should not be greater than the max defined in the MaxNumberOfDriverSetsPerRequest config value. |
InvalidParameters |
Data processing:
The method takes an array of DriverSetIds. The USS MUST compose a GetDriverSetDataResponse message in response, as follows:
The method checks that the number of driver set ids is not bigger than the maximum configuration value that is returned to the caller in GetConfigData method.
If the caller specifies more ids, FaultException is returned.
If matching driver sets are found, return an array of ServerSyncDriverSetData (section 3.1.4.8.3.2) where each one contains driver set identity and driver targeting XML.
Response:
If no errors occur during processing, the USS MUST return the success response.
If an error occurs during processing, the USS MUST return a SOAP fault. The SOAP fault SHOULD contain an <ErrorCode> element, as described in section 2.2.9. If the SOAP fault contains an <ErrorCode> element, its value MUST be one of the following.
If Microsoft Update receives a SOAP fault containing an <ErrorCode> element, it MUST react to the fault, as described in the following table. If it receives a fault that does not contain an <ErrorCode> element, it MUST stop the protocol.
ErrorCode |
Description |
---|---|
InvalidParameters |
Parameters passed to a web method are not valid. The "message" part of the exception will contain the parameter name. The protocol MUST be stopped. |
InternalServerError |
An internal error occurred on the server. The protocol MUST be stopped. |
InvalidCookie |
The cookie has a syntax, formatting, or other error. The protocol is restarted from the beginning. |
IncompatibleProtocolVersion |
The version of the protocol used by Microsoft Update is incompatible with the version used by USS. The protocol MUST be stopped. |
TooManyIds |
When the # of driver set ids specified is greater than defined by the MaxNumberOfDriverSetsPerRequest configuration value |