Operação UpdateItem
A operação UpdateItem é usada para modificar as propriedades de um item existente no repositório exchange.
Comentários
Você pode executar três ações básicas de atualização em um item. A tabela a seguir lista as ações que você pode executar.
Action | Descrição |
---|---|
Append |
Adiciona dados a uma propriedade existente. Essa ação preserva os dados atuais. O acréscimo não se aplica a todas as propriedades. |
Set |
Substitui os dados de uma propriedade se a propriedade contiver dados ou criar a propriedade e definir seu valor se a propriedade não existir. A ação definida só é aplicável a propriedades graváveis. |
Excluir |
Remove uma propriedade de um item. Isso difere da configuração de uma propriedade para um valor vazio. Quando essa ação é concluída, a propriedade não existe para o item. A exclusão só é aplicável a propriedades graváveis. |
Uma chamada UpdateItem pode ser usada para modificar um ou mais itens e uma ou mais propriedades em cada item. O elemento ItemChanges contém todas as modificações que devem ser executadas como parte dessa chamada. O elemento ItemChange , filho do elemento ItemChanges , representa as modificações a serem executadas em um único item. O elemento ItemChange contém um conjunto de ações de atualização que podem ser executadas em um único item. Essas alterações estão contidas no elemento Atualizações (Item). O elemento ItemId identifica o item a ser atualizado. Para atualizar mais de uma propriedade em um item, um SetItemField, AppendToItemField ou DeleteItemField deve ser fornecido para cada propriedade que requer a atualização.
Observação
As ações de atualização são aplicadas na ordem em que são especificadas.
Para cada alteração, você precisa especificar o caminho da propriedade para alterar e uma representação desse item com seu novo valor. A ação de exclusão é ligeiramente diferente, na medida em que apenas o caminho da propriedade que deve ser excluída é necessário. Para ações de conjunto e acrescentação, o caminho especificado deve se referir à mesma propriedade que está sendo definida na representação do item. Se forem diferentes, um erro será retornado.
A operação UpdateItem pode definir a hora de início e término de um item do exchange store. Em uma solicitação UpdateItem , a hora de início pode ser definida sem definir também a hora de término . Isso pode causar um erro se a hora de início for mais tarde do que a hora de término . Lembre-se de que os aplicativos cliente devem ajustar o tempo de término quando a hora de início for alterada para preservar a duração.
Quando um único item de calendário é atualizado para se tornar um item de calendário mestre recorrente, a propriedade MeetingTimeZone deve ser definida pela operação UpdateItem para preservar o fuso horário original do item de calendário.
Exemplo de solicitação SetItemField
Descrição
O exemplo a seguir de uma solicitação UpdateItem mostra como definir a propriedade de confidencialidade em um item.
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>
Comments
O identificador de item e a chave de alteração foram encurtados para preservar a legibilidade.
Elementos de solicitação SetItemField
Os seguintes elementos são usados na solicitação:
Exemplo de solicitação AppendToItemField
Descrição
O exemplo a seguir de uma solicitação UpdateItem mostra como anexar texto à propriedade do corpo em um item.
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>
Comments
As seguintes propriedades dão suporte à ação de acréscimo:
message:ReplyTo
item:Body
Todas as propriedades da coleção de destinatários e participantes
O identificador de item e a chave de alteração foram encurtados para preservar a legibilidade.
Elementos de solicitação AppendToItemField
Os seguintes elementos são usados na solicitação:
Exemplo de solicitação DeleteItemField
Descrição
O exemplo a seguir de uma solicitação UpdateItem mostra como excluir uma propriedade em um item.
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>
Comments
O identificador de item e a chave de alteração foram encurtados para preservar a legibilidade.
Elementos de solicitação DeleteItemField
Os seguintes elementos são usados na solicitação:
Exemplo de resposta bem-sucedido
Descrição
O exemplo a seguir mostra uma resposta bem-sucedida a uma solicitação 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>
Comments
O identificador de item e a chave de alteração foram encurtados para preservar a legibilidade.
Elementos de resposta bem-sucedidos
Os seguintes elementos são usados na resposta: