2.2.2.2.8 StartCategoryScan

Synopsis:

A client invokes this method to request from the server a list of preferred categories to use when synchronizing updates via the SyncUpdates method (section 2.2.2.2.4). A category scan allows a client to synchronize a smaller part of the larger update catalog.

 <wsdl:operation name="StartCategoryScan" />

The SOAP operation is defined as follows.

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

Request:

       <s:element name="StartCategoryScan">
         <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="requestedCategories"
               type="s1:ArrayOfCategoryRelationship" />
           </s:sequence>
         </s:complexType>
       </s:element>

requestedCategories: Specifies an array of categories that the client will synchronize. Its format (ArrayOfCategoryRelationships) MUST be as follows. A category scan is expressed using disjunctive normal form (DNF) and is composed of one or more groups of ANDed categories that are Ored together. For instance, a given category scan might request (CAT1 AND CAT2) OR CAT3. In this example, the StartCategoryScan request would contain three requested categories. (CAT1 and CAT2) would be specified as belonging to AND group 1 and CAT3 would belong to AND group 2.

       <s:complexType name="ArrayOfCategoryRelationship">
         <s:sequence>
           <s:element minOccurs="0" maxOccurs="unbounded" name="CategoryRelationship" 
              nillable="true" type="s1:CategoryRelationship" />
         </s:sequence>
       </s:complexType>
       <s:complexType name="CategoryRelationship">
         <s:sequence>
           <s:element minOccurs="1" maxOccurs="1" name="IndexOfAndGroup" type="s:int" />
           <s:element minOccurs="1" maxOccurs="1" name="CategoryId" type="s2:guid" />
         </s:sequence>
       </s:complexType>

CategoryRelationship: A category that the client wishes to synchronize.

IndexOfAndGroup: The AND group to which the specified category belongs.

CategoryId: The GUID of the requested category.

Response: The server MUST return a result with the following syntax.

       <s:element name="StartCategoryScanResponse">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="0" maxOccurs="1" name="preferredCategoryIds" 
                type="s1:ArrayOfGuid" />
             <s:element minOccurs="0" maxOccurs="1" name="requestedCategoryIdsInError" 
                type="s1:ArrayOfGuid" />
           </s:sequence>
         </s:complexType>
       </s:element>

StartCategoryScanResponse: On successful completion of this operation, this element MUST be returned.

preferredCategoryIds: The GUID list of categories that the server wants the client to provide when it invokes the SyncUpdates method.

requestedCategoryIdsInError: The GUID list of categories that the server does not recognize.