Операция 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
Идентификатор элемента и ключ изменения сокращены, чтобы сохранить удобочитаемость.
Элементы успешного отклика
В ответе используются следующие элементы: