Operación SyncFolderHierarchy
La operación SyncFolderHierarchy sincroniza carpetas entre el equipo que se ejecuta Microsoft Exchange Server 2010 y el cliente.
Nota
La operación SyncFolderHierarchy no devuelve carpetas cuando han cambiado las propiedades UnreadCount o TotalCount.
En el siguiente ejemplo de una solicitud SyncFolderHierarchy se muestra cómo sincronizar una jerarquía de carpetas de cliente con el servidor Exchange cliente. En este ejemplo se muestra una jerarquía de carpetas que ya se ha sincronizado al menos una vez. El elemento SyncState no se incluye en la solicitud para el primer intento de sincronizar un cliente con el Exchange servidor. La primera solicitud devolverá todas las carpetas del buzón. El elemento SyncState se devolverá en SyncFolderHierarchyResponse. Este elemento se usa para sincronizar el estado de las solicitudes SyncFolderHierarchy posteriores.
<?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>
<SyncFolderHierarchy xmlns="https://schemas.microsoft.com/exchange/services/2006/messages">
<FolderShape>
<t:BaseShape>AllProperties</t:BaseShape>
</FolderShape>
<SyncState>H4sIA=</SyncState>
</SyncFolderHierarchy>
</soap:Body>
</soap:Envelope>
Los datos codificados en base64 del elemento SyncState se han acortado para conservar la legibilidad.
En la solicitud se usan los siguientes elementos:
Nota
El esquema que describe estos elementos se encuentra en el directorio virtual EWS del equipo que ejecuta MicrosoftExchange Server 2007 que tiene instalado el rol de servidor Acceso de cliente.
En el ejemplo siguiente se muestra una respuesta correcta a la solicitud SyncFolderHierarchy. En este ejemplo, se ha sincronizado una nueva carpeta.
<?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>
<SyncFolderHierarchyResponse 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:SyncFolderHierarchyResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:SyncState>H4sIAAA==</m:SyncState>
<m:IncludesLastFolderInRange>true</m:IncludesLastFolderInRange>
<m:Changes>
<t:Create>
<t:Folder>
<t:FolderId Id="AQApAHR=" ChangeKey="AQAAABY" />
<t:ParentFolderId Id="AQApA=" ChangeKey="AQAAAA==" />
<t:FolderClass>IPF.Note</t:FolderClass>
<t:DisplayName>NewFolder</t:DisplayName>
<t:TotalCount>0</t:TotalCount>
<t:ChildFolderCount>0</t:ChildFolderCount>
<t:UnreadCount>0</t:UnreadCount>
</t:Folder>
</t:Create>
</m:Changes>
</m:SyncFolderHierarchyResponseMessage>
</m:ResponseMessages>
</SyncFolderHierarchyResponse>
</soap:Body>
</soap:Envelope>
Los datos codificados en base64 del elemento SyncState y los datos del identificador de carpeta se han acortado para conservar la legibilidad.
En la respuesta se usan los siguientes elementos:
En el ejemplo siguiente se muestra una respuesta de error a una solicitud SyncFolderHierarchy. Este error fue causado por un SyncState no válido.
<?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>
<SyncFolderHierarchyResponse 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:SyncFolderHierarchyResponseMessage ResponseClass="Error">
<m:MessageText>Synchronization state data is corrupted or otherwise invalid.</m:MessageText>
<m:ResponseCode>ErrorInvalidSyncStateData</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
<m:SyncState />
<m:IncludesLastFolderInRange>true</m:IncludesLastFolderInRange>
</m:SyncFolderHierarchyResponseMessage>
</m:ResponseMessages>
</SyncFolderHierarchyResponse>
</soap:Body>
</soap:Envelope>
En la respuesta de error se usan los siguientes elementos: