Операция SyncFolderHierarchy

Операция SyncFolderHierarchy синхронизирует папки между компьютером, на котором выполняется Microsoft Exchange Server 2010, и клиентом.

Примечание.

Операция SyncFolderHierarchy не возвращает папки при изменении свойств UnreadCount или TotalCount .

Пример запроса SyncFolderHierarchy

Описание

В следующем примере запроса SyncFolderHierarchy показано, как синхронизировать иерархию папок клиента с сервером Exchange Server. В этом примере показана иерархия папок, которая уже была синхронизирована по крайней мере один раз. Элемент SyncState не включается в запрос для первой попытки синхронизации клиента с сервером Exchange Server. Первый запрос вернет все папки в почтовом ящике. Элемент SyncState будет возвращен в элементе SyncFolderHierarchyResponse. Этот элемент используется для синхронизации состояния для последующих запросов SyncFolderHierarchy.

Код

<?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>
    <SyncFolderHierarchy  xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
      <FolderShape>
        <t:BaseShape>AllProperties</t:BaseShape>
      </FolderShape>
      <SyncState>H4sIA=</SyncState>
    </SyncFolderHierarchy>
  </soap:Body>
</soap:Envelope>

Comments

Данные элемента SyncState в кодировке Base64 сокращены для сохранения удобочитаемости.

Элементы запроса

В запросе используются следующие элементы:

Примечание.

Схема, описывающая эти элементы, находится в виртуальном каталоге EWS компьютера под управлением MicrosoftExchange Server 2007 с установленной ролью сервера клиентского доступа.

Успешный ответ SyncFolderHierarchy

Описание

В следующем примере показан успешный ответ на запрос SyncFolderHierarchy. В этом примере была синхронизирована новая папка.

Код

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

Comments

Данные элемента SyncState в кодировке base64 и данные идентификатора папки были сокращены, чтобы сохранить удобочитаемость.

Элементы успешного отклика

В ответе используются следующие элементы:

Ответ об ошибке SyncFolderHierarchy

Описание

В следующем примере показан ответ на ошибку на запрос SyncFolderHierarchy. Эта ошибка была вызвана недопустимым параметром SyncState.

Код

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

Элементы ответа на ошибку

В ответе на ошибку используются следующие элементы:

См. также