UpdateFolder 操作
UpdateFolder 操作用于修改 Exchange 存储中现有项的属性。 每个 UpdateFolder 操作都包含以下内容:
指定要更新的文件夹的 FolderId 元素。
文件夹中元素的内部路径,由文件夹形状指定,指定要更新的数据。
包含更新字段的新值(如果更新不是删除)的文件夹。
备注
可以对项执行三个基本更新操作。 下表中列出了这些操作。
操作 | 说明 |
---|---|
Append |
追加操作将数据添加到现有属性。 它保留当前存在的数据。 Append 不适用于所有属性。 |
Set |
如果属性包含数据,则 set 操作将替换该属性的数据;如果属性不存在,则创建属性并设置其值。 set 操作仅适用于可写属性。 |
删除 |
删除操作会从文件夹中删除属性。 这与将其设置为空值不同。 完成后,文件夹的 属性不存在。 删除仅适用于可写属性。 |
UpdateFolder 请求示例
说明
以下 UpdateFolder 请求示例演示如何更新文件夹显示名称。
代码
<?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>
<UpdateFolder xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<FolderChanges>
<t:FolderChange>
<t:FolderId Id="AScA" ChangeKey="GO3u/"/>
<t:Updates>
<t:SetFolderField>
<t:FieldURI FieldURI="folder:DisplayName"/>
<t:Folder>
<t:DisplayName>NewFolderName</t:DisplayName>
</t:Folder>
</t:SetFolderField>
</t:Updates>
</t:FolderChange>
</FolderChanges>
</UpdateFolder>
</soap:Body>
</soap:Envelope>
Comments
本示例将文件夹的显示名称更改为 NewFolderName。
注意
为了提高可读性,已缩短 FolderId 元素的 Id 和 ChangeKey 属性的值。
请求元素
请求中使用以下元素:
有关可用于形成 UpdateFolder 请求的其他元素,请参阅架构。
注意
架构的默认位置位于安装了客户端访问服务器角色的计算机上的 EWS 虚拟目录中。
UpdateFolder 响应示例
说明
以下示例显示了对 UpdateFolder 请求的成功响应。 在此示例中,返回新的更改键以反映文件夹的更新状态。
代码
<?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="685" MinorBuildNumber="8"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<UpdateFolderResponse 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:UpdateFolderResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:Folders>
<t:Folder>
<t:FolderId Id="AAAlAFVz" ChangeKey="AQAAAB" />
</t:Folder>
</m:Folders>
</m:UpdateFolderResponseMessage>
</m:ResponseMessages>
</UpdateFolderResponse>
</soap:Body>
</soap:Envelope>
Comments
注意
文件夹 ID 和更改密钥已缩短,以保持可读性。
响应中返回的文件夹 ID 表示更新的文件夹。
成功的响应元素
响应中使用以下元素:
UpdateFolder 错误响应示例
说明
以下示例显示了对 UpdateFolder 请求的错误响应。
代码
<?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="685" MinorBuildNumber="8"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<UpdateFolderResponse 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:UpdateFolderResponseMessage ResponseClass="Error">
<m:MessageText>The change key is invalid.</m:MessageText>
<m:ResponseCode>ErrorInvalidChangeKey</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
<m:Folders />
</m:UpdateFolderResponseMessage>
</m:ResponseMessages>
</UpdateFolderResponse>
</soap:Body>
</soap:Envelope>
Comments
此示例显示由请求中的无效 ChangeKey 属性引起的错误响应。
错误响应元素
错误响应中使用以下元素: