3.1.4.2 wsen:Pull

This section defines the directory services extensions to the Pull response message defined in WS-Enumeration [WSENUM] section 3.2.

The WS-Enumeration [WSENUM] Pull specification as defined in WS-Enumeration [WSENUM] section 3.2 leaves the contents of the wsen:PullResponse/wsen:Items element open-ended for a Pull response. The data returned by the server via the wsen:Items element (defined in WS-Enumeration [WSENUM] section 3.2) is structured in accord with the XML data model specified in [MS-ADDM] section 2.3.2, except that only those attributes that were requested in the wsen:Enumerate/ad:Selection (see section 3.1.4.1.1.2) element are returned. Also, in addition to requested attributes through the wsen:Selection element in the Enumerate request, the server always returns <ad:objectReferenceProperty> synthetic attribute (as specified in [MS-ADDM] section 2.3.3.1) in the Pull response.

The fragments or portions of the resultant objects evaluating to be true for the specific enumeration query are returned as children nodes with the most specific structural object class ([MS-ADTS] section 3.1.1.1.4) being the root element. The server SHOULD specify the root element as "addata:top" in the Pull response if the LDAP display name of the most specific structural object class for the result fragment is not available as specified in [MS-ADDM] section 2.3.2. This sequence of result fragments forms children nodes to the <wsen:Items> element.

The following XML shows the contents of the Items element.

  
 <wsen:Items>
   <addata:user>
     <ad:objectReferenceProperty>
       <ad:value xsi:type= "xsd:string">
         13195F20-8F96-46ed-BFF2-7891817FFEB8
       </ad:value>
     </ad:objectReferenceProperty>
       <addata:givenName>
         <ad:value xsi:type= "xsd:string">John</ad:value>
       </addata:givenName>
   </addata:user>
   <addata:user>
     <ad:objectReferenceProperty>
       <ad:value xsi:type= "xsd:string">
         ED18488A-3042-4e12-B7D1-69A059F80BC1
       </ad:value>
     </ad:objectReferenceProperty>
       <addata:givenName>
         <ad:value xsi:type= "xsd:string">Robert</ad:value>
       </addata:givenName>
   </addata:user>
 </wsen:Items>
  

The enumeration context is provided in the Pull request in order to fetch the resultant objects mapped to the query associated with it. Servers SHOULD reject the Pull request and return the ad:MaxCharsNotSupported fault, defined in section 3.1.4.2.1.1, if the optional element wsen:MaxCharacters (as defined in [WSENUM] section 3.2) is present.<18>

The optional element wsen:MaxTime indicates the maximum amount of time the initiator is willing to allow the server to assemble the Pull response as specified in [WSENUM] section 3.2. When wsen:MaxTime is absent in a Pull request message, the server SHOULD use a timeout to limit the time spent processing the Pull request. The server SHOULD also restrict the maximum value of wsen:MaxTime to less than this timeout value, and any attempt to set wsen:MaxTime to a value greater than this timeout value SHOULD return the ad:MaxTimeExceedsLimit fault defined in section 3.1.4.2.1.5.

An optional ad:controls element can also be passed to the pull request, according to the requirements in [MS-WSPELD] section 2.2.3.1.