Compartir a través de


Versiones de esquema EWS en Exchange

Obtenga información sobre el esquema EWS y cómo diseñar la aplicación para que funcione con él, así como las características que están disponibles con cada versión del esquema y cómo se relaciona el esquema con la versión del servicio Exchange.

El esquema EWS define las estructuras de datos que Exchange puede enviar y devolver. Cada nueva versión de Exchange que contenga un cambio significativo en la funcionalidad de EWS contendrá un nuevo esquema. EWS y el esquema de EWS son tanto anteriores como, en algunos casos, compatibles con reenvíos: las aplicaciones diseñadas con versiones anteriores de EWS funcionarán, en la mayoría de los casos, con versiones posteriores de EWS, y las aplicaciones destinadas a versiones posteriores de EWS funcionarán si se incluyó la misma funcionalidad en una versión anterior. Este artículo le ayudará a comprender el rol del esquema EWS, cómo funciona el control de versiones del esquema, la relación entre la versión del esquema y la versión del servicio y cómo diseñar la aplicación para que funcione con el esquema EWS.

Rol del esquema EWS

El esquema EWS hace lo siguiente:

  • Define el conjunto de características que está disponible para un cliente. Un cliente puede obtener la lista de las versiones de esquema admitidas mediante el servicio de detección automática SOAP. A continuación, el cliente puede determinar a qué características puede acceder, ya que cada versión del esquema representa un conjunto de características de EWS. Cada nuevo esquema publicado para EWS contiene las entidades de esquema de la versión anterior, además de las definiciones de esquema para cualquier funcionalidad nueva. De este modo, EWS admite aplicaciones que tienen como destino una versión anterior de EWS.

  • Proporciona una descripción general del contrato de API. Puede usar este contrato para determinar las estructuras de datos que se pueden enviar y recibir desde Exchange.

  • Proporciona un mecanismo de control de versiones para enviar solicitudes. El servidor de Exchange contiene todas las versiones de esquema de EWS admitidas en su directorio virtual.

Diseño de la aplicación teniendo en cuenta la versión del esquema

Tenga en cuenta los siguientes puntos al diseñar la aplicación para que funcione con diferentes versiones del esquema EWS:

  • Active o desactive la funcionalidad en función de la versión del esquema. Querrá asignar la funcionalidad del cliente a la versión del esquema y, en algunos casos, a la versión del servicio. En el ejemplo siguiente se devolverá un PropertySet basado en la versión del esquema y el servicio.

    private static PropertySet InitPropertySetByVersion(ExchangeService service)
    {
        PropertySet props;
        // The schema version to target to access the NormalizedBody property 
        // is Exchange2013 or later. The server version to target to access the 
        // NormalizedBody property on an email is 15 or later, which 
        // equates to Exchange 2013.
        if (service.RequestedServerVersion >= ExchangeVersion.Exchange2013 &&
            service.ServerInfo.MajorVersion >= 15)
        {
            props = new PropertySet(EmailMessageSchema.NormalizedBody);
        }
        else
        {
            props = new PropertySet(EmailMessageSchema.Body);
        }
        return props;
    }
    
  • Versione las solicitudes con la versión más antigua del esquema EWS que admita la funcionalidad que desea usar. Esto hará que el cliente sea aplicable a un mayor número de servidores de Exchange potenciales. Esto es menos importante si está desarrollando una aplicación de línea de negocio solo para dirigirse a los servidores de su organización, pero es muy importante si está creando una aplicación para un público de Exchange más amplio.

Características por versión de esquema

Las versiones de esquema que están disponibles para un cliente se identifican en el tipo simple ExchangeVersionType ubicado en el esquema types.xsd. El elemento RequestServerVersion implementa ExchangeVersionType. El elemento RequestServerVersion se envía en todas las solicitudes de EWS para indicar al servidor qué versión del esquema tiene como destino el cliente. Esto a su vez identifica el conjunto de características que está disponible para el cliente.

Tabla 1: Características de EWS por versión de producto y esquema

Versión del producto Versión de esquema asociada Funciones
Exchange Online La versión de esquema más reciente. Incluye todas las características de la versión actual de Exchange, además de las nuevas características que se agregan para los clientes en línea.
Exchange 2013 SP1 Exchange2013_SP1 Incluye todas las características de Exchange 2013.

En Exchange 2013 SP1 se introdujeron las siguientes características:
Exchange 2013 Exchange2013 Incluye todas las características introducidas en Exchange 2007 y Exchange 2010.

En Exchange 2013 se introdujeron las siguientes características:
  • Archivado
  • eDiscovery
  • Personas
  • Directivas de retención
  • Almacén de contactos unificado
  • Fotos de usuario
Exchange 2010 SP2 Exchange2010_SP2 Incluye todas las características introducidas en Exchange 2010 SP1.

En Exchange 2010 SP2 se introdujeron las siguientes características:
  • Obtener expiración de contraseña
  • Precisión de DateTime
  • Identificadores de propiedad actualizados para los contactos
  • Nuevos escenarios de suplantación
Exchange 2010 SP1 Exchange2010_SP1 Incluye todas las características introducidas en Exchange 2010.

En Exchange 2010 SP1 se introdujeron las siguientes características:
  • Creación, recuperación y modificación de reglas de bandeja de entrada
  • Acceso mediante programación al buzón de archivo
  • Acciones de conversaciones
  • Notificaciones de recorrido del firewall
  • Características de administración mejoradas
  • Compatibilidad con versiones mixtas mejoradas
  • Compatibilidad con la protección de limitación
  • Control del acceso de la aplicación a EWS
  • Compatibilidad con la autenticación de certificados de cliente
Exchange 2010 Exchange2010 Incluye todas las características introducidas en Exchange 2007 SP1.

Las siguientes características se introdujeron en la versión inicial de Exchange 2010:
  • Lista de distribución privada completa
  • Objetos de configuración de usuario
  • Elementos asociados a la carpeta
  • Seguimiento de mensajes
  • Mensajería unificada
  • Detección automática de SOAP
  • Compatibilidad mejorada con zona horaria
  • Información de disponibilidad de recursos de sala
  • Búsqueda indizada
  • Acceso al contenedor de memoria
  • Información sobre las sugerencias de correo
Exchange 2007 SP1 Exchange2007_SP1 Incluye todas las características introducidas en Exchange 2007.

En Exchange 2007 SP1 se introdujeron las siguientes características:
  • Administración de delegados
  • Permisos de carpeta
  • Carpetas públicas
  • Publicar elementos
  • Conversión de identificadores
Exchange 2007 Exchange2007 Las siguientes características se introdujeron en la versión inicial de Exchange 2007:
  • Acceso completo a elementos, carpetas y datos adjuntos (Crear, Obtener, Actualizar, Eliminar)
  • Disponibilidad
  • Configuración fuera de Office
  • Notificaciones
  • Sincronización
  • Resolución de nombres
  • Expansión de la lista de distribución (DL)
  • Búsqueda

Relación entre el esquema EWS y la versión del servicio

La versión del esquema EWS está relacionada con la versión del servicio EWS que está ejecutando el servidor. El patrón de nomenclatura para el esquema EWS está relacionado con las versiones locales de Exchange. Por ejemplo, la versión inicial de Exchange 2013 tiene una versión de servicio de 15.00.0516.032 y el nombre de esquema Exchange2013. Dado que el esquema se actualizó para Exchange 2013, Exchange 2013 y Exchange Online con una versión de servicio de 15.00.0516.032 y versiones posteriores tienen el mismo nombre de versión para el esquema más reciente. En versiones anteriores de Exchange, el esquema EWS no se actualizó con actualizaciones acumulativas (anteriormente denominadas acumulación). Pero dado que Exchange se actualiza con más frecuencia para admitir Exchange Online, las actualizaciones acumulativas ahora contienen actualizaciones de esquema para EWS. Los nombres de archivo de esquema y el nombre de versión del esquema asociado solo se actualizan con service packs o versiones principales de Exchange local.

Aunque el esquema EWS define el contrato, en algunos escenarios, la versión del servicio es la única manera de que un cliente determine cómo se supone que debe interactuar con el servicio. Los cambios de comportamiento del servicio que no se reflejan en el esquema solo se pueden determinar mediante la versión de servicio devuelta en todas las respuestas de EWS. Por ejemplo, cuando se rediseñaron las carpetas públicas en Exchange 2013, las operaciones que se usan para mover y copiar carpetas públicas cambiaron. Si diseñó un cliente para copiar carpetas públicas en Exchange 2010, tendría que actualizarlo para usar operaciones diferentes para obtener el mismo resultado en Exchange 2013.

Cómo se actualiza el esquema EWS

Los servidores de Exchange que ejecutan versiones de Exchange a partir de Exchange 2007 incluyen el esquema EWS en el directorio virtual que hospeda el servicio EWS. La versión actual del esquema siempre se representa mediante los archivos types.xsd y messages.xsd. En la figura 1 se muestra cómo se bifurca el esquema messages.xsd cuando se desarrolla una nueva versión del esquema. Antes de agregar la nueva funcionalidad, se incluye una copia del esquema messages.xsd original y se cambia el nombre para representar la versión anterior del esquema. A continuación, el archivo messages.xsd se actualiza con la descripción del servicio para la nueva versión.

Figura 1. Cómo se actualiza el esquema EWS

Ilustración que muestra cómo se actualiza el esquema de EWS. La última versión del esquema se bifurca y se le cambia el nombre para representar la versión anterior, y el último nombre de archivo representa la versión actual.

Antes de actualizar el esquema EWS para una nueva versión, se bifurca y cambia el nombre de la versión actual del esquema mediante la siguiente convención:

<schemaname>-<majorserverversion><servicepack>.xsd

A continuación, el nombre de archivo original representa el esquema más reciente. Todas las características nuevas se agregan al esquema más reciente, a excepción de las actualizaciones y correcciones de las versiones anteriores del esquema.

Vea también