EWS-Schemaversionen in Exchange

In diesem Artikel erfahren Sie mehr über das EWS-Schema und wie Sie Ihre Anwendung so entwerfen, dass Sie damit arbeiten, sowie die Features, die in jeder Schemaversion zur Verfügung stehen und wie sich das Schema auf die Exchange-Dienstversion bezieht.

Das EWS-Schema definiert die Datenstrukturen, die an Exchange gesendet und von dieser zurückgegeben werden können. Jede neue Version von Exchange, die eine wesentliche Änderung der EWS-Funktionalität enthält, wird ein neues Schema enthalten. EWS und das EWS-Schema sind sowohl rückwärts als auch in einigen Fällen Forward-kompatible-Anwendungen, die für frühere Versionen von EWS entwickelt wurden, funktionieren in den meisten Fällen mit höheren Versionen von EWS, und Anwendungen, die auf spätere Versionen von EWS abzielen, funktionieren, wenn die gleiche Funktionalität in einer früheren Version enthalten war. In diesem Artikel erfahren Sie, wie Sie die Rolle des EWS-Schemas, die Funktionsweise der Schema Versionsverwaltung, die Beziehung zwischen der Schemaversion und der Dienstversion verstehen und wie Sie Ihre Anwendung für die Verwendung des EWS-Schemas entwickeln können.

Rolle des EWS-Schemas

Das EWS-Schema führt folgende Schritte aus:

  • Definiert die Funktionsgruppe, die für einen Client verfügbar ist. Ein Client kann die Liste der unterstützten Schemaversionen mithilfe des SOAP- AutoErmittlungsdienstsabrufen. Der Client kann dann bestimmen, auf welche Features er zugreifen kann, da jede Schemaversion eine EWS-Funktionsgruppedarstellt. Jedes für EWS freigegebene neue Schema enthält die Schema Entitäten aus der vorherigen Version sowie die Schemadefinitionen für neue Funktionen. Auf diese Weise unterstützt EWS Anwendungen, die auf eine frühere Version von EWS abzielen.

  • Enthält eine allgemeine Beschreibung des API-Vertrags. Sie können diesen Vertrag verwenden, um die Datenstrukturen zu bestimmen, die an Exchange gesendet und von dieser empfangen werden können.

  • Stellt einen Mechanismus für die Versionsverwaltung zum Senden von Anforderungen bereit. Der Exchange-Server enthält alle unterstützten EWS-Schemaversionen in seinem virtuellen Verzeichnis.

Entwerfen Ihrer Anwendung mit Schemaversion im Hinterkopf

Beachten Sie beim Entwerfen Ihrer Anwendung für die Verwendung verschiedener Versionen des EWS-Schemas die folgenden Punkte:

  • Aktivieren/Deaktivieren der Funktion basierend auf der Schemaversion. Sie sollten die Clientfunktionalität der Schemaversion und in einigen Fällen der Version des Diensts zuordnen. Im folgenden Beispiel wird ein PropertySet basierend auf der Version des Schemas und Diensts zurückgegeben.

    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;
    }
    
  • Version Ihrer Anforderungen mit der frühesten Version des EWS-Schemas, die die zu verwendende Funktionalität unterstützt. Dadurch wird Ihr Client auf eine größere Anzahl von potenziellen Exchange-Servern angewendet. Dies ist nicht so wichtig, wenn Sie eine Branchenanwendung entwickeln, die nur auf die Server Ihrer Organisation abzielt, aber sehr wichtig ist, wenn Sie eine Anwendung für eine breitere Exchange-Zielgruppe erstellen.

Features nach Schemaversion

Die für einen Client verfügbaren Schemaversionen werden im einfachen Typ einfachen exchangeversiontype im Typen. XSD-Schema identifiziert. Die einfachen exchangeversiontype wird durch das RequestServerVersion -Element implementiert. Das RequestServerVersion -Element wird in allen EWS-Anforderungen gesendet, um dem Server mitzuteilen, welche Version des Schemas der Client abzielt. Dies wiederum identifiziert die Funktionsgruppe, die dem Client zur Verfügung steht.

Tabelle 1: EWS-Features nach Produkt-und Schemaversion

Produktversion Zugeordnete Schemaversion Features
Exchange Online Die neueste Schemaversion. Enthält alle Features in der aktuellen Version von Exchange sowie alle neuen Features, die für Online Clients hinzugefügt werden.
Exchange 2013 SP1 Exchange2013_SP1 Enthält alle Features in Exchange 2013.

Die folgenden Features wurden in Exchange 2013 SP1 eingeführt:
Exchange 2013 Exchange2013 Umfasst alle Features, die in Exchange 2007 und Exchange 2010 eingeführt wurden.

Die folgenden Features wurden in Exchange 2013 eingeführt:
  • Archivierung
  • eDiscovery
  • Personas
  • Aufbewahrungsrichtlinien
  • Einheitlicher Kontaktspeicher
  • Benutzerfotos
Exchange 2010 SP2 Exchange2010_SP2 Enthält alle Features, die in Exchange 2010 SP1 eingeführt wurden.

Die folgenden Features wurden in Exchange 2010 SP2 eingeführt:
  • Abrufen des Kennwortablaufs
  • DateTime-Genauigkeit
  • Aktualisierte Eigenschaftenbezeichner für Kontakte
  • Neue Szenarien für Identitätswechsel
Exchange 2010 SP1 Exchange2010_SP1 Enthält alle Features, die in Exchange 2010 eingeführt wurden.

Die folgenden Features wurden in Exchange 2010 SP1 eingeführt:
  • Erstellen, abrufen und Ändern von Posteingangsregeln
  • Programmgesteuerten Zugriff auf Archivpostfach
  • Konversations Aktionen
  • Firewall durchlaufen von Benachrichtigungen
  • Verbesserte Verwaltungsfunktionen
  • Verbesserte Unterstützung für gemischte Versionen
  • Unterstützung des Einschränkungs Schutzes
  • Steuerung des Anwendungszugriffs auf EWS
  • Unterstützung der Client Zertifikatauthentifizierung
Exchange 2010 Exchange2010 Enthält alle Features, die in Exchange 2007 SP1 eingeführt wurden.

Die folgenden Features wurden in der ersten Version von Exchange 2010 eingeführt:
  • Vollständige private Verteilerliste
  • Benutzer Konfigurationsobjekte
  • Ordner zugeordnete Elemente
  • Nachrichtenverfolgung
  • Unified Messaging
  • SOAP-AutoErmittlung
  • Erweiterte Zeitzonenunterstützung
  • Informationen zur Raum Ressourcenverfügbarkeit
  • Indizierte Suche
  • Zugriff auf den Papierkorb
  • E-Mail-Infos
Exchange 2007 SP1 Exchange2007_SP1 Enthält alle Features, die in Exchange 2007 eingeführt wurden.

Die folgenden Features wurden in Exchange 2007 SP1 eingeführt:
  • Delegieren der Verwaltung
  • Ordnerberechtigungen
  • Öffentliche Ordner
  • Bereitstellungselemente
  • ID-Konvertierung
Exchange 2007 Exchange2007 Die folgenden Features wurden in der ersten Version von Exchange 2007 eingeführt:
  • Vollzugriff auf Elemente, Ordner und Anlagen (erstellen, abrufen, aktualisieren, löschen)
  • Verfügbarkeit
  • Abwesenheitseinstellungen
  • Benachrichtigungen
  • Synchronisierung
  • Namensauflösung
  • Verteilerliste (DL)-Erweiterung
  • Suchen

Beziehung zwischen dem EWS-Schema und der Dienstversion

Die EWS-Schemaversion bezieht sich auf die Version des EWS-Diensts, den der Server ausführt. Das Benennungsmuster für das EWS-Schema bezieht sich auf die lokalen Versionen von Exchange. Die erste Version von Exchange 2013 enthält beispielsweise eine Dienstversion von 15.00.0516.032 und den Schemanamen Exchange2013. Da das Schema für Exchange 2013 aktualisiert wurde, haben sowohl Exchange 2013 als auch Exchange Online mit einer Dienstversion von 15.00.0516.032 und später denselben Versionsnamen für das neueste Schema. In früheren Versionen von Exchange wurde das EWS-Schema nicht mit kumulierten Updates (früher als Rollups bezeichnet) aktualisiert. Da Exchange jedoch häufiger zur Unterstützung von Exchange Online aktualisiert wird, enthalten kumulative Updates nun Schema Updates für EWS. Die Namen der Schemadatei und der zugehörige Schema Versionsname werden nur mit Service Packs oder Hauptversionen von Exchange lokal aktualisiert.

Während das EWS-Schema den Vertrag definiert, ist in einigen Szenarien die Dienstversion die einzige Möglichkeit für einen Client, um zu bestimmen, wie er mit dem Dienst interagieren soll. Änderungen am Dienstverhalten, die nicht im Schema reflektiert werden, können nur durch die in allen EWS-Antworten zurückgegebene Dienstversion bestimmt werden. Wenn beispielsweise Öffentliche Ordner in Exchange 2013 neu entworfen wurden, werden die Vorgänge zum Ändern und kopieren öffentlicher Ordner verwendet. Wenn Sie einen Client zum Kopieren öffentlicher Ordner in Exchange 2010 entworfen haben, müssen Sie ihn aktualisieren, um unterschiedliche Vorgänge zu verwenden, um dasselbe Ergebnis in Exchange 2013 zu erhalten.

Aktualisieren des EWS-Schemas

Exchange-Server, auf denen Exchange-Versionen mit Exchange 2007 beginnen, enthalten das EWS-Schema in das virtuelle Verzeichnis, in dem der EWS-Dienst gehostet wird. Die aktuelle Schemaversion wird immer durch die Typen. xsd-und Messages. XSD-Dateien dargestellt. Abbildung 1 zeigt, wie das Schema "Messages. xsd" verzweigt wird, wenn eine neue Version des Schemas entwickelt wird. Bevor neue Funktionen hinzugefügt werden, wird eine Kopie des ursprünglichen Schemas "Messages. xsd" eingefügt und umbenannt, um die vorherige Version des Schemas darzustellen. Die Datei Messages. xsd wird dann mit der Dienstbeschreibung für die neue Version aktualisiert.

Abbildung 1. Aktualisieren des EWS-Schemas

Eine Abbildung, die zeigt, wie das EWS-Schema aktualisiert wird. Die aktuelle Schemaversion ist gegabelt, sodass sie bei der vorherigen Version umbenannt wird und der aktuelle Dateiname die aktuelle Version darstellt.

Bevor das EWS-Schema für eine neue Version aktualisiert wird, wird die aktuelle Version des Schemas mit der folgenden Konvention verzweigt und umbenannt:

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

Der Name der ursprünglichen Datei stellt dann das neueste Schema dar. Alle neuen Features werden dem neuesten Schema hinzugefügt, mit Ausnahme von Updates und Fixes für die früheren Versionen des Schemas.

Siehe auch