Поделиться через


Операцию UpdateFolder

Операция UpdateFolder используется для изменения свойств существующего элемента в хранилище Exchange. Каждая операция UpdateFolder состоит из следующих компонентов:

  • Элемент FolderId , указывающий обновляемую папку.

  • Внутренний путь к элементу в папке, как указано в фигуре папки, которая указывает обновляемые данные.

  • Папка, содержащая новое значение обновленного поля, если обновление не является удалением.

Замечания

Для элемента можно выполнить три основных действия по обновлению. Эти действия перечислены в следующей таблице.

Действие Описание
Добавить
Действие добавления добавляет данные в существующее свойство. Он сохраняет данные, которые есть в настоящее время. Добавление применимо не ко всем свойствам.
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.

Примечание.

Значения атрибутов Id и ChangeKey элемента FolderId сокращены для удобства чтения.

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

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

Дополнительные элементы, которые можно использовать для формирования запроса 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

Примечание.

Идентификатор папки и ключ изменения сокращены для сохранения удобочитаемости.

Идентификатор папки, возвращаемый в ответе, представляет обновленную папку.

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

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

Пример ответа на ошибку 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 в запросе.

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

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

См. также