Operación UpdateItem (contacto)
La operación UpdateItem se usa para actualizar las propiedades del elemento de contacto en el almacén de Exchange.
Ejemplo de solicitud UpdateItem (contacto)
Descripción
En el ejemplo de código siguiente se muestra cómo actualizar la dirección de correo electrónico de un contacto.
Código
<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 xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
ConflictResolution="AlwaysOverwrite">
<ItemChanges>
<t:ItemChange>
<t:ItemId Id="AAAtAA=" ChangeKey="EQAAABYi" />
<t:Updates>
<t:SetItemField>
<t:IndexedFieldURI FieldURI="contacts:EmailAddress" FieldIndex="EmailAddress1"/>
<t:Contact>
<t:EmailAddresses>
<t:Entry Key="EmailAddress1">changedemail@example.com</t:Entry>
</t:EmailAddresses>
</t:Contact>
</t:SetItemField>
</t:Updates>
</t:ItemChange>
</ItemChanges>
</UpdateItem>
</soap:Body>
</soap:Envelope>
Comentarios
El identificador de elemento se ha acortado para conservar la legibilidad.
Elementos Request
En la solicitud se usan los siguientes elementos:
Respuesta correcta de UpdateItem (contacto)
Descripción
En el ejemplo de código siguiente se muestra una respuesta UpdateItem correcta.
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="602" 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:Contact>
<t:ItemId Id="AAAtAE=" ChangeKey="EQAAABYx" />
</t:Contact>
</m:Items>
</m:UpdateItemResponseMessage>
</m:ResponseMessages>
</UpdateItemResponse>
</soap:Body>
</soap:Envelope>
Comentarios
El identificador de elemento se ha acortado para conservar la legibilidad.
Elementos de respuesta correctos
Los siguientes elementos se usan en la respuesta:
Ejemplo de solicitud UpdateItem (contacto) no válido
Descripción
En el ejemplo de código siguiente se muestra una solicitud no válida.
Código
<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 xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
ConflictResolution="AlwaysOverwrite">
<ItemChanges>
<t:ItemChange>
<t:ItemId Id="AAAtAEF=" ChangeKey="EQAAABYi" />
<t:Updates>
<t:SetItemField>
<t:IndexedFieldURI FieldURI="contacts:EmailAddress" FieldIndex="EmailAddress4"/>
<t:Contact>
<t:EmailAddresses>
<t:Entry Key="EmailAddress4">changedemail2@example.com</t:Entry>
</t:EmailAddresses>
</t:Contact>
</t:SetItemField>
</t:Updates>
</t:ItemChange>
</ItemChanges>
</UpdateItem>
</soap:Body>
</soap:Envelope>
Comentarios
El identificador de elemento se ha acortado para conservar la legibilidad.
Respuesta de error updateitem (contacto)
Descripción
En el ejemplo de código siguiente se muestra una respuesta de error a una solicitud UpdateItem (Contact).
Código
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<t:ServerVersionInfo MajorVersion="8" MinorVersion="0" MajorBuildNumber="602" MinorBuildNumber="0"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<soap:Fault>
<soap:faultcode>Client</soap:faultcode>
<soap:faultstring>The request failed schema validation.</soap:faultstring>
<detail>
<e:ResponseCode xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">ErrorSchemaValidation</e:ResponseCode>
<e:Message xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">The 'Key' attribute is invalid - The value 'EmailAddress4' is invalid according to its data type 'http://schemas.microsoft.com/exchange/services/2006/types:EmailAddressKeyType' - The Enumeration constraint failed.</e:Message>
<e:Line xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">17</e:Line>
<e:Position xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">19</e:Position>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
Comentarios
Algunos elementos que se usan en el cuerpo SOAP de una respuesta de error causada por un error de validación de esquema no se definen en los esquemas de mensajes o tipos. El elemento detail contiene información sobre el error. El elemento ResponseCode contiene el código de error. El elemento Message contiene una explicación del error, si hay uno disponible. El elemento Line describe el número de línea donde se produjo el error de validación del esquema. El elemento Position describe la posición desde el carácter más a la izquierda del documento XML.