Operación UpdateItem
La operación UpdateItem se usa para modificar las propiedades de un elemento existente en el almacén de Exchange.
Comentarios
Puede realizar tres acciones de actualización básicas en un elemento. En la tabla siguiente se enumeran las acciones que puede realizar.
Action | Descripción |
---|---|
Anexar |
Agrega datos a una propiedad existente. Esta acción conserva los datos actuales. Append no se aplica a todas las propiedades. |
Set |
Reemplaza los datos de una propiedad si la propiedad contiene datos o crea la propiedad y establece su valor si la propiedad no existe. La acción set solo se aplica a las propiedades grabables. |
Delete |
Quita una propiedad de un elemento. Esto difiere de establecer una propiedad en un valor vacío. Cuando finaliza esta acción, la propiedad no existe para el elemento. La eliminación solo se aplica a las propiedades grabables. |
Se puede usar una llamada UpdateItem para modificar uno o varios elementos y una o varias propiedades en cada elemento. El elemento ItemChanges contiene todas las modificaciones que se van a realizar como parte de esta llamada. El elemento ItemChange , un elemento secundario del elemento ItemChanges , representa las modificaciones que se van a realizar en un solo elemento. El elemento ItemChange contiene un conjunto de acciones de actualización que se pueden realizar en un solo elemento. Estos cambios se encuentran en el elemento Novedades (Item). El elemento ItemId identifica el elemento que se va a actualizar. Para actualizar más de una propiedad en un elemento, se debe proporcionar un SetItemField, AppendToItemField o DeleteItemField para cada propiedad que requiera la actualización.
Nota:
Las acciones de actualización se aplican en el orden en que se especifican.
Para cada cambio, debe especificar la ruta de acceso de la propiedad que se va a cambiar y una representación de ese elemento con su nuevo valor. La acción de eliminación es ligeramente diferente, ya que solo se requiere la ruta de acceso de la propiedad que se debe eliminar. Para establecer y anexar acciones, la ruta de acceso especificada debe hacer referencia a la misma propiedad que se establece en la representación del elemento. Si difieren, se devolverá un error.
La operación UpdateItem puede establecer la hora de inicio y finalización de un elemento de almacén de Exchange. En una solicitud UpdateItem , la hora de inicio se puede establecer sin establecer también la hora de finalización . Esto puede producir un error si la hora de inicio es posterior a la hora de finalización . Tenga en cuenta que las aplicaciones cliente deben ajustar la hora de finalización cuando se cambia la hora de inicio para conservar la duración.
Cuando se actualiza un único elemento de calendario para convertirse en un elemento de calendario maestro periódico, la operación UpdateItem debe establecer la propiedad MeetingTimeZone para conservar la zona horaria original del elemento de calendario.
Ejemplo de solicitud SetItemField
Descripción
En el ejemplo siguiente de una solicitud UpdateItem se muestra cómo establecer la propiedad de confidencialidad en un elemento.
Código
<?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>
Comentarios
El identificador de elemento y la clave de cambio se han acortado para conservar la legibilidad.
Elementos de solicitud SetItemField
En la solicitud se usan los siguientes elementos:
Ejemplo de solicitud AppendToItemField
Descripción
En el ejemplo siguiente de una solicitud UpdateItem se muestra cómo anexar texto a la propiedad body de un elemento.
Código
<?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>
Comentarios
Las propiedades siguientes admiten la acción anexar:
message:ReplyTo
item:Body
Todas las propiedades de la colección de destinatarios y asistentes
El identificador de elemento y la clave de cambio se han acortado para conservar la legibilidad.
Elementos de solicitud AppendToItemField
En la solicitud se usan los siguientes elementos:
Ejemplo de solicitud DeleteItemField
Descripción
En el ejemplo siguiente de una solicitud UpdateItem se muestra cómo eliminar una propiedad de un elemento.
Código
<?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>
Comentarios
El identificador de elemento y la clave de cambio se han acortado para conservar la legibilidad.
Elementos de solicitud DeleteItemField
En la solicitud se usan los siguientes elementos:
Ejemplo de respuesta correcta
Descripción
En el ejemplo siguiente se muestra una respuesta correcta a una solicitud UpdateItem .
Código
<?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>
Comentarios
El identificador de elemento y la clave de cambio se han acortado para conservar la legibilidad.
Elementos de respuesta correctos
Los siguientes elementos se usan en la respuesta: