Operación SyncFolderItems
La operación SyncFolderItems sincroniza los elementos entre el servidor de Exchange y el cliente.
Nota:
No se admite la operación SyncFolderItems para su uso en buzones de grupo de Office 365 o carpetas públicas.
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="http://schemas.microsoft.com/exchange/services/2006/types">
<soap:Body>
<SyncFolderItems xmlns="http://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="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<SyncFolderItemsResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://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="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<SyncFolderItemsResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://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: