Operación SyncFolderItems

La operación SyncFolderItems sincroniza los elementos entre el servidor de Exchange y el cliente.

Comentarios

La operación SyncFolderItems devolverá un máximo de 512 cambios. Se deben realizar solicitudes SyncFolderItems posteriores para obtener cambios adicionales.

SyncFolderItems es similar a la operación FindItem en que no puede devolver propiedades como Body o Attachments. Si la operación SyncFolderItems no devuelve las propiedades que necesita, puede usar la operación GetItem para obtener un conjunto específico de propiedades para cada elemento devuelto por SyncFolderItems.

Ejemplo de solicitud SyncFolderItems

Descripción

En el ejemplo siguiente de una solicitud SyncFolderItems se muestra cómo sincronizar elementos de una carpeta. En este ejemplo se muestra la sincronización de un elemento de carpeta que no es la primera sincronización que se ha producido para la carpeta Elementos enviados. El elemento SyncState no se incluye en la solicitud para el primer intento de sincronizar un cliente con el servidor exchange. El primer intento de sincronizar los elementos de una jerarquía de carpetas devolverá todos los elementos del buzón, excepto los que se identifican en el elemento Ignore . Esta solicitud SyncFolderItems intentará sincronizar todos los cambios en los elementos de carpeta desde la última sincronización. Esta solicitud omitirá el intento de sincronizar el elemento que se identifica en el elemento Ignore .

Código

<?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>

Comentarios

Los datos codificados en base del elemento SyncState y el atributo Id del elemento ItemId se han acortado para conservar la legibilidad.

Elementos Request

En la solicitud se usan los siguientes elementos:

Respuesta correcta de SyncFolderItems

Descripción

En el ejemplo siguiente se muestra una respuesta correcta a la solicitud SyncFolderItems. En este ejemplo, se sincroniza una solicitud de reunión desde la carpeta Elementos enviados.

Código

<?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>

Comentarios

Los datos codificados en base del elemento SyncState y el atributo Id del elemento ItemId se han acortado para conservar la legibilidad.

Elementos de respuesta correctos

Los siguientes elementos se usan en la respuesta:

Respuesta de error de SyncFolderItems

Descripción

En el ejemplo siguiente se muestra una respuesta de error a una solicitud SyncFolderItems. Este error fue causado por un SyncState no válido.

Código

<?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>

Elementos de respuesta de error

Los siguientes elementos se usan en la respuesta de error:

Vea también