Operação SyncFolderItems
A operação SyncFolderItems sincroniza os itens entre o servidor Exchange e o cliente.
Observação
A operação SyncFolderItems não é suportada para utilização em caixas de correio do Grupo do Office 365 ou Pastas Públicas.
Comentários
A operação SyncFolderItems devolverá um máximo de 512 alterações. Os pedidos SyncFolderItems subsequentes têm de ser realizados para obter alterações adicionais.
SyncFolderItems é semelhante à operação FindItem na medida em que não pode devolver propriedades como Corpo ou Anexos. Se a operação SyncFolderItems não devolver as propriedades de que precisa, pode utilizar a operação GetItem para obter um conjunto específico de propriedades para cada item devolvido por SyncFolderItems.
SyncFolderItems request example (Exemplo de pedido SyncFolderItems)
Descrição
O exemplo seguinte de um pedido SyncFolderItems mostra como sincronizar itens numa pasta. Este exemplo mostra a sincronização de um item de pasta que não é a primeira sincronização a ter ocorrido para a pasta Itens Enviados. O elemento SyncState não está incluído no pedido para a primeira tentativa de sincronização de um cliente com o servidor Exchange. A primeira tentativa de sincronizar os itens numa hierarquia de pastas devolverá todos os itens na caixa de correio, excluindo os itens identificados no elemento Ignorar . Este pedido SyncFolderItems tentará sincronizar todas as alterações aos itens da pasta desde a última sincronização. Este pedido irá ignorar a tentativa de sincronizar o item identificado no elemento Ignorar .
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>
Comments
Os dados codificados com base64 do elemento SyncState e o atributo ID do elemento ItemId foram abreviados para preservar a legibilidade.
Elementos do pedido
Os seguintes elementos são utilizados no pedido:
Resposta SyncFolderItems bem-sucedida
Descrição
O exemplo seguinte mostra uma resposta com êxito ao pedido SyncFolderItems. Neste exemplo, um pedido de reunião é sincronizado a partir da pasta Itens 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>
Comments
Os dados codificados com base64 do elemento SyncState e o atributo ID do elemento ItemId foram abreviados para preservar a legibilidade.
Elementos de resposta bem-sucedidos
Os seguintes elementos são utilizados na resposta:
Resposta de erro SyncFolderItems
Descrição
O exemplo seguinte mostra uma resposta de erro a um pedido SyncFolderItems. Este erro foi causado por um SyncState invá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 resposta de erro
Os seguintes elementos são utilizados na resposta de erro: