SyncFolderHierarchy 操作
SyncFolderHierarchy 操作在运行 Microsoft Exchange Server 2010 的计算机与客户端之间同步文件夹。
注意
当 UnreadCount 或 TotalCount 属性发生更改时,SyncFolderHierarchy 操作不会返回文件夹。
SyncFolderHierarchy 请求示例
说明
以下 SyncFolderHierarchy 请求示例演示如何将客户端文件夹层次结构与 Exchange 服务器同步。 此示例显示已同步至少一次的文件夹层次结构。 首次尝试将客户端与 Exchange 服务器同步的请求中不包含 SyncState 元素。 第一个请求将返回邮箱中的所有文件夹。 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 编码的数据已缩短,以保持可读性。
请求元素
请求中使用以下元素:
注意
描述这些元素的架构位于运行安装了客户端访问服务器角色的 MicrosoftExchange Server 2007 的计算机的 EWS 虚拟目录中。
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>
错误响应元素
错误响应中使用以下元素: