Abrufen von Domäneneinstellungen von einem Exchange-Server

Erfahren Sie, wie Sie Domäneneinstellungen von einem Exchange-Server mithilfe des AutoErmittlungsdiensts abrufen.

Sie können Konfigurationsinformationen für eine E-Mail-Domäne mithilfe des AutoErmittlungsdiensts abrufen. Der AutoErmittlungsdienst stellt Ihrer Anwendung einen Prozess für die Herstellung einer Verbindung mit dem richtigen Dienstendpunkt für eine bestimmte Domäne bereit.

Sie können eine der folgenden Entwicklungstechnologien verwenden, um auf den AutoErmittlungsdienst zuzugreifen:

  • Die verwaltete API der Exchange-Webdienste (Exchange Web Services, EWS)

  • EWS

    Bei Verwendung von EWS können Sie die folgenden Methoden zum Abrufen von Benutzereinstellungen verwenden:

    • Den SOAP-basierten AutoErmittlungsdienst

    • Den XML-AutoErmittlungsdienst (POX)

    • Einen automatisch vom SOAP- oder XML-AutoErmittlungdienst generierten Proxy

      Weitere Informationen zu diesen Methoden finden Sie unter AutoErmittlung für Exchange.

Die verwaltete EWS-API stellt eine objektbasierte Schnittstelle für das Abrufen von Benutzereinstellungen bereit. Wenn die Clientanwendung verwalteten Code verwendet, wird empfohlen, die verwaltete EWS-API zu verwenden. Die verwaltete EWS-API-Schnittstelle ist besser für ein einfaches Objektmodell optimiert als der typische automatisch generierte Webdienstproxy.

Bei Verwendung von EWS empfehlen wir die Verwendung des SOAP-AutoErmittlungsdiensts, da dieser eine umfassendere Sammlung von Funktionen als der POX-AutoErmittlungsdienst unterstützt.

Der AutoErmittlungsdienst gibt nur die angeforderten Konfigurationseinstellungen zurück. Die folgende Tabelle enthält die Domänenkonfigurationseinstellungen, die der AutoErmittlungsdienst zurückgeben kann.

Tabelle 1: Domänenkonfigurationseinstellungen

Konfigurationseinstellung Beschreibung
ExternalEwsUrl
Die externe URL für EWS
ExternalEwsVersion
Die Version des Exchange-Servers, auf dem die EWS-URL gehostet wird

Voraussetzungen für das Abrufen von Domäneneinstellungen

Bevor Sie eine Anwendung erstellen, die eine Verbindung mit dem AutoErmittlungsdienst zum Abrufen von Domäneneinstellungen herstellt, stellen Sie sicher, dass Sie auf Folgendes zugreifen können:

  • Exchange Online, Exchange Online als Teil von Office 365 oder einen Server mit einer Version von Exchange ab Exchange 2007. Bei Verwendung des SOAP-basierten EWS-AutoErmittlungsdiensts einen Server mit einer Version von Exchange ab Exchange 2010.

  • Einen Exchange-Server, der Verbindungen von Ihrer Clientanwendung akzeptiert. Informationen zum Konfigurieren des Exchange-Servers finden Sie unter Steuern des Clientanwendungszugriffs auf EWS in Exchange.

  • Ein Konto, das berechtigt ist, EWS zu verwenden. Informationen zum Konfigurieren eines Kontos finden Sie unter Steuern des Clientanwendungszugriffs auf EWS in Exchange.

Hinweis

Wenn Sie die verwaltete EWS-API verwenden, müssen Sie in einigen Fällen einen Zertifikatüberprüfungsrückruf bereitstellen. Auch bei einigen generierten Proxybibliotheken, wie den von Visual Studio erstellten, benötigen Sie möglicherweise einen Zertifikatüberprüfungsrückruf. Weitere Informationen finden Sie unter Überprüfen eines Serverzertifikats für die verwaltete EWS-API.

Kernkonzepte für das Abrufen von Domäneneinstellungen

Bevor Sie den AutoErmittlungsdienst zum Abrufen von Domäneneinstellungen verwenden, sollten Sie sich mit den Konzepten in der folgenden Tabelle vertraut machen.

Konzept Beschreibung
AutoErmittlung für Exchange
Bietet eine Übersicht über die Funktionsweise des AutoErmittlungsdiensts.
Verwenden der AutoErmittlung für die Suche nach Verbindungspunkten
Beschreibt den vom AutoErmittlungsdienst verwendeten Prozess zum Umleiten Ihrer Clientanwendung an den richtigen Dienstendpunkt.

Wenn Sie die verwaltete EWS-API benutzen, verwenden Sie die Klasse Microsoft.Exchange.WebServices.Data.ExchangeService im Namespace Microsoft.Exchange.WebServices.Data, um Ihre Verbindungen mit EWS zu verwalten. In den Codebeispielen in diesem Abschnitt wird davon ausgegangen, dass Sie in Ihrem Code auf die folgenden Namespaces verweisten:

  • System.Net

  • Microsoft.Exchange.WebServices.Data.ExchangeService

Abrufen von Domäneneinstellungen mithilfe der verwalteten EWS-API

Wenn Sie die verwaltete EWS-API benutzen, können Sie die Methode Microsoft.Exchange.WebServices.Data.AutodiscoverSettings.GetUserSettings des Objekts Microsoft.Exchange.WebServices.Data.AutodiscoverService verwenden, um die Anforderung zu generieren, mit der Konfigurationsinformationen für eine Domäne abgerufen werden, wie im folgenden Beispiel gezeigt. In diesem Beispiel werden nur einige der möglichen Domäneneinstellungen abgerufen und nur die abgerufenen Einstellungen vom Server zurückgegeben.

AutodiscoverService autodiscoverService = new AutodiscoverService("domain.contoso.com");
autodiscoverService.Credentials = new NetworkCredential("User1", "password", "domain.contoso.com");
// Submit a request and get the settings. The response contains only the
// settings that are requested, if they exist.
GetDomainSettingsResponse domainresponse = autodiscoverService.GetDomainSettings(
    "domain",
    ExchangeVersion.Exchang2013,
    DomainSettingName.ExternalEwsUrl,
    DomainSettingName.ExternalEwsVersion);

Sie können die zurückgegebene Sammlung analysieren, um auf die einzelnen Schlüssel-Wert-Paare zuzugreifen. Das folgende Beispiel zeigt, wie Sie die einzelnen zurückgegebenen Elemente analysieren und den Namen und Wert der einzelnen Schlüssel-Wert-Paare anzeigen.

// Display each retrieved value. The settings are part of a key/value pair.
foreach (KeyValuePair<DomainSettingName, Object> domainsetting in domainresponse.Settings)
{
    Console.WriteLine(domainsetting.Key.ToString() + ": " + domainsetting.Value.ToString());
}

Alternativ können Sie den Wert einer bestimmten Einstellung abrufen. Im folgenden Beispiel soll die Einstellung ExternalEwsUrl angezeigt werden.

// Display a specific setting, such as ExternalEwsUrl.
Console.WriteLine(domainresponse.Settings[DomainSettingName.ExternalEwsUrl]);

Abrufen von Benutzereinstellungen mithilfe der EWS-SOAP-AutoErmittlung

Das folgende Beispiel zeigt eine SOAP-XML-Anforderung zum Abrufen beider Domäneneinstellungen vom AutoErmittlungsdienst.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:a="https://schemas.microsoft.com/exchange/2010/Autodiscover" 
        xmlns:wsa="http://www.w3.org/2005/08/addressing" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <a:RequestedServerVersion>Exchange2013</a:RequestedServerVersion>
    <wsa:Action>https://schemas.microsoft.com/exchange/2010/Autodiscover/Autodiscover/GetDomainSettings</wsa:Action>
    <wsa:To>https://autodiscover.exchange.microsoft.com/autodiscover/autodiscover.svc</wsa:To>
  </soap:Header>
  <soap:Body>
    <a:GetDomainSettingsRequestMessage xmlns:a="https://schemas.microsoft.com/exchange/2010/Autodiscover">
      <a:Request>
        <a:Domains>
          <a:Domain>domain</a:Domain>
        </a:Domains>
        <a:RequestedSettings>
          <a:Setting>ExternalEwsUrl</a:Setting>
          <a:Setting>ExternalEwsVersion</a:Setting>
        </a:RequestedSettings>
        <a:RequestedVersion>Exchange2013</a:RequestedVersion>
      </a:Request>
    </a:GetDomainSettingsRequestMessage>
  </soap:Body>
</soap:Envelope>

Das folgende Beispiel zeigt die XML-Antwort, die vom Server zurückgegeben wird, nachdem die Anforderung vom Client analysiert wurde.

<s:Envelope xmlns:s="https://schemas.xmlsoap.org/soap/envelope/" 
        xmlns:a="http://www.w3.org/2005/08/addressing">
  <s:Header>
    <a:Action s:mustUnderstand="1">https://schemas.microsoft.com/exchange/2010/
          Autodiscover/Autodiscover/GetDomainSettingsResponse</a:Action>
    <h:ServerVersionInfo xmlns:h="https://schemas.microsoft.com/exchange/2010/Autodiscover" 
          xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
      <h:MajorVersion>15</h:MajorVersion>
      <h:MinorVersion>0</h:MinorVersion>
      <h:MajorBuildNumber>160</h:MajorBuildNumber>
      <h:MinorBuildNumber>4</h:MinorBuildNumber>
      <h:Version>Exchange2013</h:Version>
    </h:ServerVersionInfo>
  </s:Header>
  <s:Body>
    <GetDomainSettingsResponseMessage xmlns="https://schemas.microsoft.com/exchange/2010/Autodiscover">
      <Response xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <ErrorCode>NoError</ErrorCode>
        <ErrorMessage />
        <DomainResponses>
          <DomainResponse>
            <ErrorCode>NoError</ErrorCode>
            <ErrorMessage>No error.</ErrorMessage>
            <DomainSettingErrors />
            <DomainSettings>
              <DomainSetting i:type="DomainStringSetting">
                <Name>ExternalEwsUrl</Name>
                <Value>https://failover.exchange.microsoft.com/ews/exchange.asmx</Value>
              </DomainSetting>
              <DomainSetting i:type="DomainStringSetting">
                <Name>ExternalEwsVersion</Name>
                <Value>15.00.0085.000</Value>
              </DomainSetting>
            </DomainSettings>
            <RedirectTarget i:nil="true" />
          </DomainResponse>
        </DomainResponses>
      </Response>
    </GetDomainSettingsResponseMessage>
  </s:Body>
</s:Envelope>

Nächste Schritte

Domäneneinstellungen stellen die grundlegenden Informationen bereit, die der Client für die Verbindung mit EWS benötigt. Sie können diese Informationen verwenden, um eine Verbindung mit EWS herzustellen, oder Sie können zusätzliche Konfigurationseinstellungen für ein E-Mail-Konto vom Server abrufen. Weitere Informationen finden Sie im folgenden Artikel:

Siehe auch