Operación UpdateFolder

La operación UpdateFolder se usa para modificar las propiedades de un elemento existente en el almacén de Exchange. Cada operación UpdateFolder consta de lo siguiente:

  • Elemento FolderId que especifica una carpeta que se va a actualizar.

  • Ruta de acceso interna de un elemento de la carpeta, según lo especificado por la forma de carpeta, que especifica los datos que se van a actualizar.

  • Carpeta que contiene el nuevo valor del campo actualizado, si la actualización no es una eliminación.

Comentarios

Se pueden realizar tres acciones de actualización básicas en un elemento. Estas acciones se enumeran en la tabla siguiente.

Action Descripción
Anexar
La acción anexar agrega datos a una propiedad existente. Conserva los datos que hay actualmente. Append no es aplicable a todas las propiedades.
Set
La acción set reemplaza los datos de una propiedad si contiene datos, o crea la propiedad y establece su valor si no existe. La acción set solo se aplica a las propiedades grabables.
Delete
La acción de eliminación quita una propiedad de una carpeta. Esto es diferente de establecerlo en un valor vacío. Una vez completada, la propiedad no existe para la carpeta. La eliminación solo se aplica a las propiedades grabables.

Ejemplo de solicitud UpdateFolder

Descripción

En el ejemplo siguiente de una solicitud UpdateFolder se muestra cómo actualizar un nombre para mostrar de carpeta.

Código

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
               xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
  <soap:Body>
    <UpdateFolder xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
                  xmlns:t="http://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>

Comentarios

En este ejemplo se cambia el nombre para mostrar de la carpeta a NewFolderName.

Nota:

Los valores de los atributos Id y ChangeKey del elemento FolderId se han acortado para mejorar la legibilidad.

Elementos Request

En la solicitud se usan los siguientes elementos:

Vea el esquema de elementos adicionales que puede usar para formar una solicitud UpdateFolder.

Nota:

La ubicación predeterminada del esquema está en el directorio virtual de EWS en el equipo que tiene instalado el rol de servidor acceso de cliente.

Ejemplo de respuesta UpdateFolder

Descripción

En el ejemplo siguiente se muestra una respuesta correcta a la solicitud UpdateFolder. En este ejemplo, se devuelve la nueva clave de cambio para reflejar el estado actualizado de la carpeta.

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="http://schemas.microsoft.com/exchange/services/2006/types" />
  </soap:Header>
  <soap:Body>
    <UpdateFolderResponse 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: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>

Comentarios

Nota:

El identificador de carpeta y la clave de cambio se han acortado para conservar la legibilidad.

El identificador de carpeta que se devuelve en la respuesta representa la carpeta actualizada.

Elementos de respuesta correctos

Los siguientes elementos se usan en la respuesta:

Ejemplo de respuesta de error de UpdateFolder

Descripción

En el ejemplo siguiente se muestra una respuesta de error a una solicitud 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="http://schemas.microsoft.com/exchange/services/2006/types" />
  </soap:Header>
  <soap:Body>
    <UpdateFolderResponse 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: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>

Comentarios

En este ejemplo se muestra una respuesta de error causada por un atributo ChangeKey no válido en la solicitud.

Elementos de respuesta de error

Los siguientes elementos se usan en la respuesta de error:

Vea también