Operação UpdateFolder

A operação UpdateFolder é usada para modificar propriedades de um item existente no repositório exchange. Cada operação UpdateFolder consiste no seguinte:

  • Um elemento FolderId que especifica uma pasta a ser atualizada.

  • Um caminho interno de um elemento na pasta, conforme especificado pela forma da pasta, que especifica os dados a serem atualizados.

  • Uma pasta que contém o novo valor do campo atualizado, se a atualização não for uma exclusão.

Comentários

Três ações básicas de atualização podem ser executadas em um item. Essas ações estão listadas na tabela a seguir.

Action Descrição
Append
A ação de acréscimo adiciona dados a uma propriedade existente. Ele preserva os dados que estão atualmente lá. O acréscimo não é aplicável a todas as propriedades.
Set
A ação definida substituirá os dados de uma propriedade se ela contiver dados ou criar a propriedade e definir seu valor se ela não existir. A ação definida só é aplicável a propriedades graváveis.
Excluir
A ação excluir remove uma propriedade de uma pasta. Isso é diferente de defini-lo como um valor vazio. Quando concluída, a propriedade não existe para a pasta. A exclusão só é aplicável a propriedades graváveis.

Exemplo de solicitação do UpdateFolder

Descrição

O exemplo a seguir de uma solicitação UpdateFolder mostra como atualizar um nome de exibição de pasta.

Código

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
               xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">
  <soap:Body>
    <UpdateFolder xmlns="https://schemas.microsoft.com/exchange/services/2006/messages"
                  xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">
      <FolderChanges>
        <t:FolderChange>
          <t:FolderId Id="AScA" ChangeKey="GO3u/"/>
          <t:Updates>
            <t:SetFolderField>
              <t:FieldURI FieldURI="folder:DisplayName"/>
              <t:Folder>
                <t:DisplayName>NewFolderName</t:DisplayName>
              </t:Folder>
            </t:SetFolderField>
          </t:Updates>
        </t:FolderChange>
      </FolderChanges>
    </UpdateFolder>
  </soap:Body>
</soap:Envelope>

Comments

Este exemplo altera o nome de exibição da pasta para NewFolderName.

Observação

Os valores dos atributos Id e ChangeKey do elemento FolderId foram abreviados para legibilidade.

Elementos de solicitação

Os seguintes elementos são usados na solicitação:

Consulte o esquema de elementos adicionais que você pode usar para formar uma solicitação UpdateFolder.

Observação

O local padrão do esquema está no diretório virtual do EWS no computador que tem a função de servidor do Client Access instalada.

Exemplo de resposta do UpdateFolder

Descrição

O exemplo a seguir mostra uma resposta bem-sucedida à solicitação UpdateFolder. Neste exemplo, a nova chave de alteração é retornada para refletir o status atualizado da pasta.

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="685" MinorBuildNumber="8" 
                         xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" />
  </soap:Header>
  <soap:Body>
    <UpdateFolderResponse xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" 
                          xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" 
                          xmlns="https://schemas.microsoft.com/exchange/services/2006/messages">
      <m:ResponseMessages>
        <m:UpdateFolderResponseMessage ResponseClass="Success">
          <m:ResponseCode>NoError</m:ResponseCode>
          <m:Folders>
            <t:Folder>
              <t:FolderId Id="AAAlAFVz" ChangeKey="AQAAAB" />
            </t:Folder>
          </m:Folders>
        </m:UpdateFolderResponseMessage>
      </m:ResponseMessages>
    </UpdateFolderResponse>
  </soap:Body>
</soap:Envelope>

Comments

Observação

A ID da pasta e a chave de alteração foram encurtadas para preservar a legibilidade.

A ID da pasta retornada na resposta representa a pasta atualizada.

Elementos de resposta bem-sucedidos

Os seguintes elementos são usados na resposta:

Exemplo de resposta de erro do UpdateFolder

Descrição

O exemplo a seguir mostra uma resposta de erro a uma solicitação UpdateFolder.

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="685" MinorBuildNumber="8" 
                         xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" />
  </soap:Header>
  <soap:Body>
    <UpdateFolderResponse xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" 
                          xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" 
                          xmlns="https://schemas.microsoft.com/exchange/services/2006/messages">
      <m:ResponseMessages>
        <m:UpdateFolderResponseMessage ResponseClass="Error">
          <m:MessageText>The change key is invalid.</m:MessageText>
          <m:ResponseCode>ErrorInvalidChangeKey</m:ResponseCode>
          <m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
          <m:Folders />
        </m:UpdateFolderResponseMessage>
      </m:ResponseMessages>
    </UpdateFolderResponse>
  </soap:Body>
</soap:Envelope>

Comments

Este exemplo mostra uma resposta de erro causada por um atributo ChangeKey inválido na solicitação.

Elementos de resposta de erro

Os seguintes elementos são usados na resposta de erro:

Confira também