Операция UpdateItem

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

Замечания

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

Действие Описание
Добавить
Добавляет данные в существующее свойство. Это действие сохраняет текущие данные. Добавление применяется не ко всем свойствам.
Set
Заменяет данные свойства, если свойство содержит данные, или создает свойство и задает его значение, если свойство не существует. Действие set применимо только к записываемым свойствам.
Удалить
Удаляет свойство из элемента. Это отличается от задания для свойства пустого значения. После завершения этого действия свойство не существует для элемента. Удаление применимо только к записываемым свойствам.

Вызов UpdateItem можно использовать для изменения одного или нескольких элементов и одного или нескольких свойств каждого элемента. Элемент ItemChanges содержит все изменения, которые должны быть выполнены в рамках этого вызова. Элемент ItemChange , дочерний элемент элемента ItemChanges , представляет изменения, выполняемые в одном элементе. Элемент ItemChange содержит набор действий по обновлению, которые можно выполнить с одним элементом. Эти изменения содержатся в элементе Обновления (Item). Элемент ItemId идентифицирует обновляемый элемент. Чтобы обновить несколько свойств элемента, для каждого свойства, требующего обновления, необходимо указать SetItemField, AppendToItemField или DeleteItemField .

Примечание.

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

Для каждого изменения необходимо указать путь к свойству для изменения и представление этого элемента с его новым значением. Действие удаления немного отличается тем, что требуется только путь к свойству, которое должно быть удалено. Для действий установки и добавления указанный путь должен ссылаться на то же свойство, которое задается в представлении элемента. Если они отличаются, будет возвращена ошибка.

Операция UpdateItem может задать время начала и окончания элемента хранилища Exchange. В запросе UpdateItem время начала можно задать без установки времени окончания . Это может привести к ошибке, если время начала позже времени окончания . Имейте в виду, что клиентские приложения должны изменить время окончания при изменении времени начала , чтобы сохранить длительность.

При обновлении одного элемента календаря, чтобы он стал повторяющимся главным элементом календаря, свойство MeetingTimeZone должно быть задано операцией UpdateItem , чтобы сохранить исходный часовой пояс элемента календаря.

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

Описание

В следующем примере запроса UpdateItem показано, как задать свойство конфиденциальности для элемента.

Код

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
               xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
               xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
  <soap:Body>
    <UpdateItem MessageDisposition="SaveOnly" ConflictResolution="AutoResolve" 
                xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
      <ItemChanges>
        <t:ItemChange>
          <t:ItemId Id="AAAtAEFkb..." ChangeKey="CQAAABYAAAB..."/>
          <t:Updates>
            <t:SetItemField>
              <t:FieldURI FieldURI="item:Sensitivity"/>
              <t:Message>
                <t:Sensitivity>Normal</t:Sensitivity>
              </t:Message>
            </t:SetItemField>
          </t:Updates>
        </t:ItemChange>
      </ItemChanges>
    </UpdateItem>
  </soap:Body>
</soap:Envelope>

Comments

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

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

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

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

Описание

В следующем примере запроса UpdateItem показано, как добавить текст в свойство body элемента.

Код

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
  <soap:Body>
    <UpdateItem MessageDisposition="SaveOnly" ConflictResolution="AutoResolve" 
                xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
      <ItemChanges>
        <t:ItemChange>
          <t:ItemId Id="AAAtAEFkbW..." ChangeKey="CQAAABYA..."/>
          <t:Updates>
            <t:AppendToItemField>
              <t:FieldURI FieldURI="item:Body"/>
              <t:Message>
                <t:Body BodyType="Text">Some additional text to append</t:Body>
              </t:Message>
            </t:AppendToItemField>
          </t:Updates>
        </t:ItemChange>
      </ItemChanges>
    </UpdateItem>
  </soap:Body>
</soap:Envelope>

Comments

Следующие свойства поддерживают действие добавления:

  • message:ReplyTo

  • item:Body

  • Все свойства коллекции получателей и участников

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

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

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

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

Описание

В следующем примере запроса UpdateItem показано, как удалить свойство элемента.

Код

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
  <soap:Body>
    <UpdateItem MessageDisposition="SaveOnly" ConflictResolution="AutoResolve" 
                xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
      <ItemChanges>
        <t:ItemChange>
          <t:ItemId Id="AAAtAEFkbWluaXN0cm..." ChangeKey="CQAAABYAA..."/>
          <t:Updates>
            <t:DeleteItemField>
              <t:FieldURI FieldURI="item:Body"/>
            </t:DeleteItemField>
          </t:Updates>
        </t:ItemChange>
      </ItemChanges>
    </UpdateItem>
  </soap:Body>
</soap:Envelope>

Comments

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

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

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

Пример успешного ответа

Описание

В следующем примере показан успешный ответ на запрос UpdateItem .

Код

<?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="664" MinorBuildNumber="0" 
                         xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"/>
  </soap:Header>
  <soap:Body>
    <UpdateItemResponse 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:UpdateItemResponseMessage ResponseClass="Success">
          <m:ResponseCode>NoError</m:ResponseCode>
          <m:Items>
            <t:Message>
              <t:ItemId Id="AAAtAEFkbW..." ChangeKey="CQAAABYAAA..."/>
            </t:Message>
          </m:Items>
        </m:UpdateItemResponseMessage>
      </m:ResponseMessages>
    </UpdateItemResponse>
  </soap:Body>
</soap:Envelope>

Comments

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

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

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

См. также

Операция UpdateItem (задача)

Операция UpdateItem (контакт)

Обновление контактов

Обновление задач