Opération SyncFolderItems

L’opération SyncFolderItems synchronise les éléments entre le serveur Exchange et le client.

Remarques

L’opération SyncFolderItems retourne un maximum de 512 modifications. Les requêtes SyncFolderItems suivantes doivent être effectuées pour obtenir des modifications supplémentaires.

SyncFolderItems est similaire à l’opération FindItem en ce sens qu’il ne peut pas retourner des propriétés telles que Corps ou Pièces jointes. Si l’opération SyncFolderItems ne renvoie pas les propriétés dont vous avez besoin, vous pouvez utiliser l’opération GetItem pour obtenir un ensemble spécifique de propriétés pour chaque élément renvoyé par SyncFolderItems.

Exemple de requête SyncFolderItems

Description

L’exemple suivant de requête SyncFolderItems montre comment synchroniser des éléments dans un dossier. Cet exemple montre la synchronisation d’un élément de dossier qui n’est pas la première synchronisation à avoir eu lieu pour le dossier Éléments envoyés. L’élément SyncState n’est pas inclus dans la demande de première tentative de synchronisation d’un client avec le serveur Exchange. La première tentative de synchronisation des éléments d’une hiérarchie de dossiers retourne tous les éléments de la boîte aux lettres, à l’exception des éléments identifiés dans l’élément Ignore . Cette requête SyncFolderItems tente de synchroniser toutes les modifications apportées aux éléments de dossier depuis la dernière synchronisation. Cette demande ignore la tentative de synchronisation de l’élément identifié dans l’élément Ignore .

Code

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">
  <soap:Body>
    <SyncFolderItems xmlns="https://schemas.microsoft.com/exchange/services/2006/messages">
      <ItemShape>
        <t:BaseShape>Default</t:BaseShape>
      </ItemShape>
      <SyncFolderId>
        <t:DistinguishedFolderId Id="sentitems"/>
      </SyncFolderId>
      <SyncState>AEbJ94eMOAAA=</SyncState>
      <Ignore>
        <t:ItemId Id="AQApAHRAA==" ChangeKey="CQAAABY"/>
      </Ignore>
      <MaxChangesReturned>100</MaxChangesReturned>
    </SyncFolderItems>
  </soap:Body>
</soap:Envelope>

Comments

Les données encodées en base64 de l’élément SyncState et l’attribut Id de l’élément ItemId ont été raccourcies pour préserver la lisibilité.

Éléments de requête

Les éléments suivants sont utilisés dans la demande :

Réponse syncFolderItems réussie

Description

L’exemple suivant montre une réponse réussie à la requête SyncFolderItems. Dans cet exemple, une demande de réunion est synchronisée à partir du dossier Éléments envoyés.

Code

<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Header>
    <t:ServerVersionInfo MajorVersion="8" MinorVersion="0" 
                         MajorBuildNumber="628" MinorBuildNumber="0" 
      xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" />
  </soap:Header>
  <soap:Body>
    <SyncFolderItemsResponse xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" 
                             xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" 
                             xmlns="https://schemas.microsoft.com/exchange/services/2006/messages">
      <m:ResponseMessages>
        <m:SyncFolderItemsResponseMessage ResponseClass="Success">
          <m:ResponseCode>NoError</m:ResponseCode>
          <m:SyncState>H4sIAAAAA=</m:SyncState>
          <m:IncludesLastItemInRange>true</m:IncludesLastItemInRange>
          <m:Changes>
            <t:Create>
              <t:MeetingRequest>
                <t:ItemId Id="AQApAHRwA==" ChangeKey="CwAAABYA" />
                <t:Subject>Budget Q3</t:Subject>
                <t:Sensitivity>Normal</t:Sensitivity>
                <t:IsOutOfDate>false</t:IsOutOfDate>
                <t:HasBeenProcessed>true</t:HasBeenProcessed>
                <t:ResponseType>NoResponseReceived</t:ResponseType>
                <t:IntendedFreeBusyStatus>Busy</t:IntendedFreeBusyStatus>
                <t:Start>2006-08-02T17:30:00Z</t:Start>
                <t:End>2006-08-02T19:30:00Z</t:End>
                <t:Location>Conference Room 2</t:Location>
                <t:Organizer>
                  <t:Mailbox>
                    <t:Name>Dan Park</t:Name>
                    <t:EmailAddress>dpark@example.com</t:EmailAddress>
                    <t:RoutingType>SMTP</t:RoutingType>
                  </t:Mailbox>
                </t:Organizer>
              </t:MeetingRequest>
            </t:Create>
          </m:Changes>
        </m:SyncFolderItemsResponseMessage>
      </m:ResponseMessages>
    </SyncFolderItemsResponse>
  </soap:Body>
</soap:Envelope>

Comments

Les données encodées en base64 de l’élément SyncState et l’attribut Id de l’élément ItemId ont été raccourcies pour préserver la lisibilité.

Éléments de réponse réussis

Les éléments suivants sont utilisés dans la réponse :

Réponse d’erreur SyncFolderItems

Description

L’exemple suivant montre une réponse d’erreur à une requête SyncFolderItems. Cette erreur a été provoquée par un SyncState non valide.

Code

<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Header>
    <t:ServerVersionInfo MajorVersion="8" MinorVersion="0" 
                         MajorBuildNumber="628" MinorBuildNumber="0" 
                         xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" />
  </soap:Header>
  <soap:Body>
    <SyncFolderItemsResponse xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" 
                             xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" 
                             xmlns="https://schemas.microsoft.com/exchange/services/2006/messages">
      <m:ResponseMessages>
        <m:SyncFolderItemsResponseMessage ResponseClass="Error">
          <m:MessageText>Synchronization state data is corrupt or otherwise invalid.</m:MessageText>
          <m:ResponseCode>ErrorInvalidSyncStateData</m:ResponseCode>
          <m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
          <m:SyncState />
          <m:IncludesLastItemInRange>true</m:IncludesLastItemInRange>
        </m:SyncFolderItemsResponseMessage>
      </m:ResponseMessages>
    </SyncFolderItemsResponse>
  </soap:Body>
</soap:Envelope>

Éléments de réponse d’erreur

Les éléments suivants sont utilisés dans la réponse d'erreur :

Voir aussi