Opération UpdateItem
L’opération UpdateItem est utilisée pour modifier les propriétés d’un élément existant dans la banque d’informations Exchange.
Remarques
Vous pouvez effectuer trois actions de mise à jour de base sur un élément. Le tableau suivant répertorie les actions que vous pouvez effectuer.
Action | Description |
---|---|
Ajout |
Ajoute des données à une propriété existante. Cette action conserve les données actuelles. Append ne s’applique pas à toutes les propriétés. |
Set |
Remplace les données d’une propriété si la propriété contient des données, ou crée la propriété et définit sa valeur si la propriété n’existe pas. L’action set s’applique uniquement aux propriétés accessibles en écriture. |
Supprimer |
Supprime une propriété d’un élément. Cela diffère de la définition d’une propriété sur une valeur vide. Lorsque cette action est terminée, la propriété n’existe pas pour l’élément. La suppression s’applique uniquement aux propriétés accessibles en écriture. |
Un appel UpdateItem peut être utilisé pour modifier un ou plusieurs éléments et une ou plusieurs propriétés sur chaque élément. L’élément ItemChanges contient toutes les modifications qui doivent être effectuées dans le cadre de cet appel. L’élément ItemChange , enfant de l’élément ItemChanges , représente les modifications à effectuer sur un seul élément. L’élément ItemChange contient un ensemble d’actions de mise à jour qui peuvent être effectuées sur un seul élément. Ces modifications sont contenues dans l’élément Mises à jour (Item). L’élément ItemId identifie l’élément à mettre à jour. Pour mettre à jour plusieurs propriétés sur un élément, un SetItemField, AppendToItemField ou DeleteItemField doit être fourni pour chaque propriété qui nécessite la mise à jour.
Remarque
Les actions de mise à jour sont appliquées dans l’ordre dans lequel elles sont spécifiées.
Pour chaque modification, vous devez spécifier le chemin de la propriété à modifier et une représentation de cet élément avec sa nouvelle valeur. L’action de suppression est légèrement différente dans la mesure où seul le chemin d’accès de la propriété qui doit être supprimée est requis. Pour les actions de définition et d’ajout, le chemin d’accès spécifié doit faire référence à la même propriété que celle définie dans la représentation d’élément. Si celles-ci diffèrent, une erreur est retournée.
L’opération UpdateItem peut définir l’heure de début et de fin d’un élément de magasin Exchange. Dans une requête UpdateItem , l’heure de début peut être définie sans définir également l’heure de fin . Cela peut entraîner une erreur si l’heure de début est ultérieure à l’heure de fin . N’oubliez pas que les applications clientes doivent ajuster l’heure de fin lorsque l’heure de début est modifiée afin de conserver la durée.
Lorsqu’un élément de calendrier unique est mis à jour pour devenir un élément de calendrier principal périodique, la propriété MeetingTimeZone doit être définie par l’opération UpdateItem afin de conserver le fuseau horaire d’origine de l’élément de calendrier.
Exemple de requête SetItemField
Description
L’exemple suivant de requête UpdateItem montre comment définir la propriété de confidentialité sur un élément.
Code
<?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
L’identificateur d’élément et la clé de modification ont été raccourcis pour préserver la lisibilité.
Éléments de requête SetItemField
Les éléments suivants sont utilisés dans la demande :
Exemple de requête AppendToItemField
Description
L’exemple suivant de requête UpdateItem montre comment ajouter du texte à la propriété body sur un élément.
Code
<?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
Les propriétés suivantes prennent en charge l’action d’ajout :
message:ReplyTo
item:Body
Toutes les propriétés de la collection de destinataires et de participants
L’identificateur d’élément et la clé de modification ont été raccourcis pour préserver la lisibilité.
AppendToItemField Request Elements
Les éléments suivants sont utilisés dans la demande :
Exemple de requête DeleteItemField
Description
L’exemple suivant de requête UpdateItem montre comment supprimer une propriété sur un élément.
Code
<?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
L’identificateur d’élément et la clé de modification ont été raccourcis pour préserver la lisibilité.
Éléments de requête DeleteItemField
Les éléments suivants sont utilisés dans la demande :
Exemple de réponse réussie
Description
L’exemple suivant montre une réponse réussie à une requête UpdateItem .
Code
<?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
L’identificateur d’élément et la clé de modification ont été raccourcis pour préserver la lisibilité.
Éléments de réponse réussis
Les éléments suivants sont utilisés dans la réponse :