Pull

The Enumeration Endpoint implements the Pull operation, which retrieves the set of objects returned by a query.

Parameters

Action Header

For more information, see WS-Enumeration specification.

Enumeration Context Element

According to the WS-Enumeration specification, an invocation of the Pull operation uses as input whatever was provided as the enumeration context in the response to the corresponding invocation of the Enumerate operation.

MaxElements Element

For more information, see WS-Enumeration specification.

Pull Adjustment Element

As an extension to the WS-Enumeration specification of the Pull operation, clients can use the optional <PullAdjustment> element to specify the index number of the starting data for the current Pull operationand also change the direction in which data items are to be pulled. The structure of the <PullAdjustment> element is defined by the following schema.

<?xml version='1.0' encoding='utf-8'?>
<xs:schema
  elementFormDefault='qualified'
  targetNamespace='https://schemas.microsoft.com/2006/11/ResourceManagement'
  xmlns:xs='http://www.w3.org/2001/XMLSchema'
  xmlns:rm='https://schemas.microsoft.com/2006/11/ResourceManagement'>
  <xs:simpleType name='EnumerationDirectionsType'>
    <xs:restriction 
      base='xs:string'>
    <xs:enumeration 
      value='Forwards' />
    <xs:enumeration 
      value='Backwards' />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType
    name='PullAdjustmentType'>
    <xs:sequence>
       <xs:element
         name='StartingIndex'
         minOccurs='0'
         maxOccurs='1'
         nillable='false'
         type='xs:integer'/>
        <xs:element
          name='EnumerationDirection'
          minOccurs='1'
          maxOccurs='1'
          nillable='false' 
          type='rm:EnumerationDirectionsType' />
      </xs:sequence>
    </xs:complexContent>
  </xs:complexType>
  <xs:element
    name='PullAdjustment'
    nillable='true'
    type='rm:PullAdjustmentType' />
</xs:schema>

The elements of this structure are described as follows.

Element Description

StartingIndex

The index number of a particular object in a collection of objects that match the query from which to start adding objects to a batch.

EnumerationDirection

The direction in which objects are to be added to the batch.

Forwards: Proceeds through the collection of objects that math the query, from the current object toward the end of the collection.

Backwards: Proceeds through the collection from the current object toward the beginning of the collection.

PullAdjustment

Combines a starting index and an enumeration direction.

Return Value

Action Header

For more information, see WS-Enumeration specification.

Items Element

A successful invocation of the Pull operation will return, as sub-elements to the WS-Enumerate <Items> element, XML representations of the requested objects. The XML representations of the objects may also be structured to comply with any valid extension of that XML Schema.

Example

The following code example shows invoking the Pull operation without using any extensions.

<s:Envelope 
  xmlns:s=‘http://www.w3.org/2003/05/soap-envelope' 
  xmlns:wsa=‘https://schemas.xmlsoap.org/ws/2004/08/addressing' 
  xmlns:wsen=‘https://schemas.xmlsoap.org/ws/2004/09/enumeration'
  xmlns:wsc=‘https://schemas.microsoft.com/ws/2006/05/context'
  xmlns:rm=‘https://schemas.microsoft.com/2006/11/ResourceManagement'>
  <s:Header>
    <wsa:ReplyTo>
     <wsa:Address> 
       https://www.contoso.com/sender
     </wsa:Address>
    </wsa:ReplyTo>
    <wsa:To> 
      https://www.contoso.com:5725/IdentityManagementService/Enumeration
    </wsa:To>
    <wsa:Action>
      https://schemas.xmlsoap.org/ws/2004/09/enumeration/Pull
    </wsa:Action>
    <wsa:MessageID>
      uuid:00000000-0000-0000-C000-000000000046
    </wsa:MessageID>
    <rm:ResourceManagement s:mustUnderstand=“true"/>
  </s:Header>
  <s:Body>
    <wsen:Pull>
      <wsen:EnumerationContext> 
        <rm:Count>1</rm:Count> 
        <rm:CurrentIndex>0</rm:CurrentIndex>
        <rm:EnumerationDirection>Forwards</rm:EnumerationDirection> 
        <rm:Expires>12/31/9999 11:59:59 PM</rm:Expires> 
        <rm:Filter>/ma-data</rm:Filter> 
        <rm:LocalePreferences xsi:nil="true" /> 
        <rm:Selection xsi:nil="true" /> 
        <rm:Sorting xsi:nil="true" /> 
      </wsen:EnumerationContext>
      <wsen:MaxElements>
        10
      </wsen:MaxElements>
    </wsen:Pull>
  </s:Body>
</s:Envelope>

The following code example shows invoking the Pull operation that uses extensions.

<s:Envelope 
  xmlns:s=‘http://www.w3.org/2003/05/soap-envelope' 
  xmlns:wsa=‘https://schemas.xmlsoap.org/ws/2004/08/addressing' 
  xmlns:wsen=‘https://schemas.xmlsoap.org/ws/2004/09/enumeration'
  xmlns:wsc=‘https://schemas.microsoft.com/ws/2006/05/context'
  xmlns:rm=‘https://schemas.microsoft.com/2006/11/ResourceManagement'>
  <s:Header>
    <wsa:ReplyTo>
     <wsa:Address> 
       https://www.contoso.com/sender
     </wsa:Address>
    </wsa:ReplyTo>
    <wsa:To> 
      https://www.contoso.com:5725/IdentityManagementService/Enumeration
    </wsa:To>
    <wsa:Action>
      https://schemas.xmlsoap.org/ws/2004/09/enumeration/Pull
    </wsa:Action>
    <wsa:MessageID>
      uuid:00000000-0000-0000-C000-000000000046
    </wsa:MessageID>
    <rm:ResourceManagement s:mustUnderstand=“true"/>
  </s:Header>
  <s:Body>
    <wsen:Pull>
      <wsen:EnumerationContext> 
        <rm:Count>1</rm:Count> 
        <rm:CurrentIndex>0</rm:CurrentIndex>
         <rm:EnumerationDirection>Forwards</rm:EnumerationDirection> 
        <rm:Expires>12/31/9999 11:59:59 PM</rm:Expires> 
        <rm:Filter>/ma-data</rm:Filter> 
        <rm:LocalePreferences xsi:nil="true" /> 
        <rm:Selection xsi:nil="true" /> 
        <rm:Sorting xsi:nil="true" /> 
      </wsen:EnumerationContext>
      <wsen:MaxElements>
        10
      </wsen:MaxElements>
      <rm:PullAdjustment>
        <rm:StartingIndex>20</rm:StartingIndex>
        <rm:EnumerationDirection>Forwards</rm:EnumerationDirection>
      </rm:PullAdjustment>
    </wsen:Pull>
  </s:Body>
</s:Envelope>

The following code example shows invoking the Pull operation using a <PullAdjustment> element.

<s:Envelope 
  xmlns:s=‘http://www.w3.org/2003/05/soap-envelope' 
  xmlns:wsa=‘https://schemas.xmlsoap.org/ws/2004/08/addressing'
  xmlns:wsen=‘https://schemas.xmlsoap.org/ws/2004/09/enumeration'
  xmlns:rm=‘https://schemas.microsoft.com/2006/11/ResourceManagement'>
  <s:Header>
    ...
    <wsa:To> 
      http://www.woodgrove.com:5725/IdentityManagementService/Enumeration
    </wsa:To>
    <wsa:Action>
      https://schemas.xmlsoap.org/ws/2004/09/enumeration/Pull
    </wsa:Action>
    ...
    <rm:ResourceManagement s:mustUnderstand=“true"/>
  </s:Header>
  <s:Body>
    <wsen:Pull>
      <wsen:EnumerationContext> 
        <rm:Count>1</rm:Count> 
        <rm:CurrentIndex>0</rm:CurrentIndex> 
        <rm:EnumerationDirection>Forwards</rm:EnumerationDirection> 
        <rm:Expires>12/31/9999 11:59:59 PM</rm:Expires> 
        <rm:Filter>/ma-data</rm:Filter> 
        <rm:LocalePreferences xsi:nil="true" /> 
        <rm:Selection xsi:nil="true" /> 
        <rm:Sorting xsi:nil="true" /> 
      </wsen:EnumerationContext>
      <rm:PullAdjustment>
        <rm:StartingIndex>20</rm:StartingIndex>
        <rm:EnumerationDirection>Forwards</rm:EnumerationDirection>
      </rm:PullAdjustment>
    </wsen:Pull>
  </s:Body>
</s:Envelope>

The following code example shows a response to a successful Pull operation.

<s:Envelope 
  xmlns:s=‘http://www.w3.org/2003/05/soap-envelope' 
  xmlns:wsa=‘https://schemas.xmlsoap.org/ws/2004/08/addressing' 
  xmlns:wsen=‘ https://schemas.xmlsoap.org/ws/2004/09/enumeration' 
  xmlns:wsc=‘https://schemas.microsoft.com/ws/2006/05/context'
  xmlns:rm=‘https://schemas.microsoft.com/2006/11/ResourceManagement' >
  <s:Header>
    <wsa:To>
      https://www.contoso.com/sender
    </wsa:To>
    <wsa:Action>https://schemas.xmlsoap.org/ws/2004/09/enumeration/PullResponse
    </wsa:Action>
    <wsa:MessageID>
      uuid:0000010e-0000-0000-C000-000000000048
    </wsa:MessageID>
    <wsa:RelatesTo>
      uuid:00000000-0000-0000-C000-000000000048
    </wsa:RelatesTo>
  </s:Header>
  <s:Body>
  <wsen:EnumerationContext> 
    <rm:Count>1</rm:Count> 
    <rm:CurrentIndex>0</rm:CurrentIndex> 
    <rm:EnumerationDirection>Forwards</rm:EnumerationDirection> 
    <rm:Expires>12/31/9999 11:59:59 PM</rm:Expires> 
    <rm:Filter>/ma-data</rm:Filter> 
    <rm:LocalePreferences xsi:nil="true" /> 
    <rm:Selection xsi:nil="true" /> 
    <rm:Sorting xsi:nil="true" /> 
  </wsen:EnumerationContext>
    <wsen:Items>
      <rm:ma-data>                     
        <rm:ObjectType>ma-data</rm:ObjectType> 
        <rm:ObjectID> 
          urn:uuid:fa14aafd-d74b-4833-bd94-94c96ee1b278 
        </rm:ObjectID> 
        <rm:DisplayName>AD Management Agent</rm:DisplayName> 
        <rm:CreatedTime>2009-01-20T23:28:40.207</rm:CreatedTime> 
        <rm:Creator> 
          urn:uuid:23dbfb6c-557f-48d1-ac38-6d570ddbe189 
        </rm:Creator> 
      </rm:ma-data>
    </wsen:Items>
  </s:Body>
</s:Envelope>

See Also

Concepts

Enumeration Endpoint
Web Services Overview
Resource Factory Endpoint