Versions de schéma EWS dans Exchange

Découvrez le schéma EWS et la façon de concevoir votre application pour l’utiliser, ainsi que les fonctionnalités disponibles avec chaque version de schéma et la façon dont le schéma est lié à la version du service Exchange.

Le schéma EWS définit les structures de données qui peuvent être envoyées et retournées par Exchange. Chaque nouvelle version d’Exchange qui contient une modification significative de la fonctionnalité EWS contient un nouveau schéma. EWS et le schéma EWS sont à la fois rétrocompatibles et, dans certains cas, compatibles avec les versions antérieures d’EWS. Dans la plupart des cas, les applications qui ciblent les versions ultérieures d’EWS fonctionnent si la même fonctionnalité a été incluse dans une version antérieure. Cet article vous aidera à comprendre le rôle du schéma EWS, le fonctionnement du contrôle de version de schéma, la relation entre la version du schéma et la version du service, et comment concevoir votre application pour qu’elle fonctionne avec le schéma EWS.

Rôle du schéma EWS

Le schéma EWS effectue les opérations suivantes :

  • Définit l’ensemble de fonctionnalités disponible pour un client. Un client peut obtenir la liste des versions de schéma prises en charge à l’aide du service de découverte automatique SOAP. Le client peut ensuite déterminer les fonctionnalités auxquelles il peut accéder, car chaque version de schéma représente un ensemble de fonctionnalités EWS. Chaque nouveau schéma publié pour EWS contient les entités de schéma de la version précédente, ainsi que les définitions de schéma pour toute nouvelle fonctionnalité. Ainsi, EWS prend en charge les applications qui ciblent une version antérieure d’EWS.

  • Fournit une description générale du contrat d’API. Vous pouvez utiliser ce contrat pour déterminer les structures de données qui peuvent être envoyées et reçues d’Exchange.

  • Fournit un mécanisme de contrôle de version pour l’envoi de demandes. Le serveur Exchange contient toutes les versions de schéma EWS prises en charge dans son répertoire virtuel.

Conception de votre application avec la version de schéma à l’esprit

Gardez à l’esprit les points suivants lorsque vous concevez votre application pour qu’elle fonctionne avec différentes versions du schéma EWS :

  • Activez/désactivez la fonctionnalité en fonction de la version du schéma. Vous souhaiterez mapper les fonctionnalités du client à la version du schéma et, dans certains cas, à la version du service. L’exemple suivant retourne un PropertySet basé sur la version du schéma et du service.

    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;
    }
    
  • Mettez en version vos requêtes avec la version la plus ancienne du schéma EWS qui prend en charge la fonctionnalité que vous souhaitez utiliser. Cela rendra votre client applicable à un plus grand nombre de serveurs Exchange potentiels. Cela est moins important si vous développez une application métier pour cibler uniquement les serveurs de votre organisation, mais il est très important si vous créez une application pour un public Exchange plus large.

Fonctionnalités par version de schéma

Les versions de schéma disponibles pour un client sont identifiées dans le type simple ExchangeVersionType situé dans le schéma types.xsd. ExchangeVersionType est implémenté par l’élément RequestServerVersion. L’élément RequestServerVersion est envoyé dans toutes les requêtes EWS pour indiquer au serveur la version du schéma cible par le client. Cela identifie à son tour l’ensemble de fonctionnalités disponible pour le client.

Tableau 1 : Fonctionnalités EWS par produit et version de schéma

Version du produit Version de schéma associée Composants
Exchange Online Dernière version du schéma. Inclut toutes les fonctionnalités de la version actuelle d’Exchange en plus des nouvelles fonctionnalités ajoutées pour les clients en ligne.
Exchange 2013 SP1 Exchange2013_SP1 Inclut toutes les fonctionnalités d’Exchange 2013.

Les fonctionnalités suivantes ont été introduites dans Exchange 2013 SP1 :
Exchange 2013 Exchange2013 Inclut toutes les fonctionnalités introduites dans Exchange 2007 et Exchange 2010.

Les fonctionnalités suivantes ont été introduites dans Exchange 2013 :
  • Archivage
  • eDiscovery
  • Personas
  • Stratégies de rétention
  • Magasin de contacts unifié
  • Photos de l'utilisateur
Exchange 2010 SP2 Exchange2010_SP2 Inclut toutes les fonctionnalités introduites dans Exchange 2010 SP1.

Les fonctionnalités suivantes ont été introduites dans Exchange 2010 SP2 :
  • Obtenir l’expiration du mot de passe
  • Précision DateTime
  • Identificateurs de propriété mis à jour pour les contacts
  • Nouveaux scénarios d’emprunt d’identité
Exchange 2010 SP1 Exchange2010_SP1 Inclut toutes les fonctionnalités introduites dans Exchange 2010.

Les fonctionnalités suivantes ont été introduites dans Exchange 2010 SP1 :
  • Créer, récupérer et modifier des règles de boîte de réception
  • Accès par programmation à la boîte aux lettres d’archivage
  • Actions de conversations
  • Notifications de traversée de pare-feu
  • Fonctionnalités d’administration améliorées
  • Amélioration de la prise en charge des versions mixtes
  • Prise en charge de la protection de la limitation
  • Contrôle de l’accès des applications à EWS
  • Prise en charge de l’authentification par certificat client
Exchange 2010 Exchange2010 Inclut toutes les fonctionnalités introduites dans Exchange 2007 SP1.

Les fonctionnalités suivantes ont été introduites dans la version initiale d’Exchange 2010 :
  • Liste de distribution privée complète
  • Objets de configuration utilisateur
  • Éléments associés au dossier
  • Suivi des messages
  • Messagerie unifiée
  • Découverte automatique SOAP
  • Prise en charge améliorée des fuseaux horaires
  • Informations sur la disponibilité des ressources de salle
  • Recherche indexée
  • Accès à la benne à ordures
  • Informations sur les infos-courrier
Exchange 2007 SP1 Exchange2007_SP1 Inclut toutes les fonctionnalités introduites dans Exchange 2007.

Les fonctionnalités suivantes ont été introduites dans Exchange 2007 SP1 :
  • Gestion des délégués
  • Autorisations d’accès aux dossiers
  • Dossiers publics
  • Publier des éléments
  • Conversion d’ID
Exchange 2007 Exchange2007 Les fonctionnalités suivantes ont été introduites dans la version initiale d’Exchange 2007 :
  • Accès complet aux éléments, dossiers et pièces jointes (Créer, Obtenir, Mettre à jour, Supprimer)
  • Disponibilité
  • Paramètres d’absence du bureau
  • Notifications
  • Synchronisation
  • Résolution de noms
  • Extension de liste de distribution (DL)
  • Rechercher

Relation entre le schéma EWS et la version du service

La version du schéma EWS est liée à la version du service EWS que le serveur exécute. Le modèle de nommage du schéma EWS est lié aux versions locales d’Exchange. Par exemple, la version initiale d’Exchange 2013 a une version de service 15.00.0516.032 et le nom de schéma Exchange2013. Étant donné que le schéma a été mis à jour pour Exchange 2013, Exchange 2013 et Exchange Online avec une version de service 15.00.0516.032 et ultérieures ont le même nom de version pour le schéma le plus récent. Dans les versions antérieures d’Exchange, le schéma EWS n’a pas été mis à jour avec les mises à jour cumulatives (anciennement appelés cumuls). Toutefois, étant donné qu’Exchange est mis à jour plus fréquemment pour prendre en charge Exchange Online, les mises à jour cumulatives contiennent désormais des mises à jour de schéma pour EWS. Les noms de fichier de schéma et le nom de version de schéma associé sont uniquement mis à jour avec les Service Packs ou les versions principales d’Exchange en local.

Bien que le schéma EWS définisse le contrat, dans certains scénarios, la version du service est la seule façon pour un client de déterminer comment il est censé interagir avec le service. Les changements de comportement de service qui ne sont pas reflétés dans le schéma peuvent uniquement être déterminés par la version de service retournée dans toutes les réponses EWS. Par exemple, lorsque les dossiers publics ont été repensés dans Exchange 2013, les opérations utilisées pour déplacer et copier des dossiers publics ont changé. Si vous avez conçu un client pour copier des dossiers publics dans Exchange 2010, vous devez le mettre à jour pour utiliser différentes opérations pour obtenir le même résultat dans Exchange 2013.

Mise à jour du schéma EWS

Les serveurs Exchange exécutant des versions d’Exchange à compter d’Exchange 2007 incluent le schéma EWS dans le répertoire virtuel qui héberge le service EWS. La version actuelle du schéma est toujours représentée par les fichiers types.xsd et messages.xsd. La figure 1 montre comment le schéma messages.xsd est dupliqué lorsqu’une nouvelle version du schéma est développée. Avant l’ajout de nouvelles fonctionnalités, une copie du schéma messages.xsd d’origine est incluse et renommée pour représenter la version précédente du schéma. Le fichier messages.xsd est ensuite mis à jour avec la description du service pour la nouvelle version.

Figure 1. Mise à jour du schéma EWS

Illustration de la mise à jour du schéma EWS. La dernière version du schéma est divisée et renommée afin de représenter la version précédente et le dernier nom de fichier représente la version actuelle.

Avant que le schéma EWS ne soit mis à jour pour une nouvelle version, la version actuelle du schéma est dupliquée et renommée à l’aide de la convention suivante :

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

Le nom de fichier d’origine représente ensuite le schéma le plus récent. Toutes les nouvelles fonctionnalités sont ajoutées au schéma le plus récent, à l’exception des mises à jour et des correctifs des versions antérieures du schéma.

Voir aussi