3.1.4.2 GetAuthorizationCookie
A DSS calls the GetAuthorizationCookie method to authenticate and authorize access to the Server Sync Web Service. The USS sends back an authorization cookie that is used in the GetCookie operation.
-
<wsdl:operation name="GetAuthorizationCookie"> <wsdl:input message="tns:GetAuthorizationCookieSoapIn" /> <wsdl:output message="tns:GetAuthorizationCookieSoapOut" /> </wsdl:operation>
The SOAP operation is defined as follows:
-
<soap:operation soapAction="http://www.microsoft.com/SoftwareDistribut ion/Server/DssAuthWebService/GetAuthorizationCookie" style="document" />
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 to the DSS with the <ErrorCode> set, as shown in the table.<28>
Parameter |
Validation conditions |
ErrorCode |
---|---|---|
accountName |
MUST not be NULL or a zero-length string. The format of this field MUST be consistent with FQDN requirements (that is, it does not contain characters that are not valid for a FQDN, as specified in [RFC1035] section 2.3). |
InvalidParameters |
accountGuid |
MUST not be NULL or a zero-length string. The format of this field MUST be consistent with the GUID format, as specified in section 2.2.5.1. |
InvalidParameters |
Data processing:
The USS MUST process this message as follows:
Locate the entry identified by the accountGuid element in the DSS Table.
If not found, initialize and insert a new entry in the DSS Table containing the accountGuid and accountName elements.
The USS MUST compose a GetAuthorizationCookieResponse message in response to the DSS, as follows:
Generate an AuthorizationCookie element for the DSS.
Initialize the PlugInId element to "DssTargeting".
Initialize the CookieData element to a sequence of bytes, as defined in section 2.2.4.7.
Response:
If no errors occur during processing, the USS MUST return the 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 SOAP fault contains an <ErrorCode> element, its value MUST be one of the following.
If the DSS receives a SOAP fault containing an <ErrorCode> element, it MUST react to the fault as described in the following table. If the DSS receives a fault that does not contain an <ErrorCode> element, it MUST stop the protocol.
ErrorCode |
Description |
---|---|
InternalServerError |
An internal error occurred on the server. The error is implementation specific. The DSS MUST stop the protocol. |
InvalidParameters |
Parameters passed to a web method are not valid. The "message" part of the exception will contain the parameter name. The DSS MUST stop the protocol. |