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 元素的 IdChangeKey 属性的值。

请求元素

请求中使用以下元素:

有关可用于形成 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 属性引起的错误响应。

错误响应元素

错误响应中使用以下元素:

另请参阅