Obtenir des paramètres de domaine à partir du serveur ExchangeHow to: Get domain settings from an Exchange server

Découvrez comment obtenir les paramètres de domaine à partir d’un serveur Exchange à l’aide du service de découverte automatique.Learn how to get domain settings from an Exchange server by using the Autodiscover service.

Vous pouvez récupérer les informations de configuration d’un domaine de messagerie en utilisant le service de découverte automatique. Le service de découverte automatique fournit à votre application un processus de connexion au point de terminaison de service correct pour un domaine spécifique.You can retrieve configuration information for an email domain by using the Autodiscover service. The Autodiscover service provides your application with a process for connecting to the correct service endpoint for a specific domain.

Vous pouvez utiliser l’une des technologies de développement suivantes pour accéder au service de découverte automatique :You can use one of the following development technologies to access the Autodiscover service:

  • API managée des services web Exchange (EWS)The Exchange Web Services (EWS) Managed API

  • EWSEWS

    Si vous utilisez EWS, recourez aux méthodes suivantes pour extraire des paramètres utilisateur :If you are using EWS, you can use the following methods to retrieve user settings:

    • Service de découverte automatique basé sur SOAPThe SOAP-based Autodiscover service

    • Service de découverte automatique XML (POX)The XML (POX) Autodiscover service

    • Proxy généré automatiquement à partir du service de détection automatique SOAP ou XMLAn autogenerated proxy generated from the SOAP or XML Autodiscover service

      Pour plus d'informations sur ces méthodes, reportez-vous à la section Découverte automatique pour Exchange.For more information about these methods, see Autodiscover for Exchange.

L’API managée EWS fournit une interface basée sur des objets pour récupérer les paramètres de l’utilisateur. Si votre application cliente utilise du code managé, nous vous recommandons de choisir l’API managée EWS. L’interface API managée EWS optimisée pour un modèle d’objet simple présente des performances supérieures au proxy de service web généré automatiquement par défaut.The EWS Managed API provides an object-based interface for retrieving user settings. If your client application uses managed code, we recommend that you use the EWS Managed API. The EWS Managed API interface is better optimized for a simple object model than the typical autogenerated web service proxy.

Si vous utilisez EWS, nous vous conseillons d’opter pour le service de découverte automatique SOAP, car il prend en charge un ensemble de fonctionnalités plus riche que le service de découverte automatique POX.If you are using EWS, we suggest that you use the SOAP Autodiscover service, because it supports a richer set of features than the POX Autodiscover service.

Le service de découverte automatique renvoie uniquement les paramètres de configuration requis. Le tableau suivant répertorie les paramètres de configuration de domaine que le service de découverte automatique peut renvoyer.The Autodiscover service returns only the requested configuration settings. The following table lists the domain configuration settings that the Autodiscover service can return.

Tableau 1 : Paramètres de configuration de domaineTable 1: Domain configuration settings

Paramètre de configurationConfiguration setting DescriptionDescription
ExternalEwsUrlExternalEwsUrl
URL EWS externe.The external URL for EWS.
ExternalEwsVersionExternalEwsVersion
Version du serveur Exchange qui héberge l’URL EWS.The version of the Exchange server that hosts the EWS URL.

Conditions préalables requises pour l’obtention de paramètres du domainePrerequisites for getting domain settings

Avant de créer une application qui se connecte au service de découverte automatique pour obtenir les paramètres de domaine, vérifiez que vous avez accès à ce qui suit :Before you create an application that connects to the Autodiscover service to get domain settings, make sure that you have access to the following:

  • Exchange Online, Exchange Online dans le cadre d’Office 365 ou un serveur qui exécute une version d’Exchange égale ou supérieure à Exchange 2007. Si vous utilisez le service de découverte automatique basé sur SOAP EWS, un serveur qui exécute une version d’Exchange égale ou supérieure à Exchange 2010.Exchange Online, Exchange Online as part of Office 365, or a server running a version of Exchange starting with Exchange 2007. If you are using the EWS SOAP-based Autodiscover service, a server running a version of Exchange starting with Exchange 2010.

  • Un serveur Exchange qui est configuré pour accepter les connexions depuis votre application cliente. Pour plus d'informations sur la configuration de votre serveur Exchange, reportez-vous à la rubrique Contrôle de l'accès aux applications de client pour EWS dans Exchange.An Exchange server that is configured to accept connections from your client application. For information about how to configure your Exchange server, see Controlling client application access to EWS in Exchange.

  • Un compte autorisé à utiliser EWS. Pour plus d'informations sur la configuration d'un compte, reportez-vous à la rubrique Contrôle de l'accès aux applications de client pour EWS dans Exchange.An account that is authorized to use EWS. For information about how to configure an account, see Controlling client application access to EWS in Exchange.

Notes

Si vous utilisez l’API managée EWS, vous devez fournir un rappel de validation de certificat dans certains cas.If you are using the EWS Managed API, you must provide a certificate validation callback in some circumstances. Vous aurez peut-être également besoin d’un rappel de validation de certificat avec certaines bibliothèques proxy générées, telles que celles créées par Visual Studio.You may also need a certificate validation callback with some generated proxy libraries, such as those created by Visual Studio. Pour plus d'informations, reportez-vous à la rubrique Valider un certificat de serveur pour l'API managée EWS.For more information, see How to: Validate a server certificate for the EWS Managed API.

Les concepts de base pour obtenir des paramètres de domaineCore concepts for getting domain settings

Avant d’utiliser la découverte automatique pour obtenir des paramètres de domaine, vous devez être familiarisé avec les concepts répertoriés dans le tableau suivant.Before you use Autodiscover to get domain settings, you should be familiar with the concepts listed in the following table.

ConceptConcept DescriptionDescription
Découverte automatique pour ExchangeAutodiscover for Exchange
Fournit une vue d’ensemble du fonctionnement du service de découverte automatique.Provides an overview of how the Autodiscover service works.
Utiliser la découverte automatique pour trouver des points de connexionHow to: Use Autodiscover to find connection points
Décrit le processus utilisé par le service de découverte automatique pour rediriger votre application client vers le point de terminaison de service correct.Describes the process used by the Autodiscover service to redirect your client application to the correct service endpoint.

Si vous utilisez l'API managée EWS, vous gérez votre connexion à EWS à l'aide de la classe Microsoft.Exchange.WebServices.Data.ExchangeService dans l'espace de noms Microsoft.Exchange.WebServices.Data. Les exemples de code de cette section supposent que vous référencez les espaces de noms suivants dans votre code :If you are using the EWS Managed API, you use the Microsoft.Exchange.WebServices.Data.ExchangeService class in the Microsoft.Exchange.WebServices.Data namespace to manage your connection to EWS. The code examples in this section assume that you reference the following namespaces in your code:

  • System.NetSystem.Net

  • Microsoft.Exchange.WebServices.Data.ExchangeServiceMicrosoft.Exchange.WebServices.Data.ExchangeService

Obtenir les paramètres de domaine à l’aide de l’API managée EWSGet domain settings by using the EWS Managed API

Si vous utilisez l'API managée EWS, vous pouvez recourir à la méthode Microsoft.Exchange.WebServices.Data.AutodiscoverSettings.GetUserSettings de l'objet Microsoft.Exchange.WebServices.Data.AutodiscoverService pour générer la requête qui récupère les informations de configuration pour un domaine, comme illustré dans l'exemple suivant. Dans cet exemple, seuls certains des paramètres de domaine possibles sont demandés, et seuls les paramètres demandés sont renvoyés à partir du serveur.If you are using the EWS Managed API, you can use the Microsoft.Exchange.WebServices.Data.AutodiscoverSettings.GetUserSettings method of the Microsoft.Exchange.WebServices.Data.AutodiscoverService object to generate the request that retrieves configuration information for a domain, as shown in the following example. In this example, only some of the possible domain settings are requested, and only the requested settings are returned from the server.

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);

Vous pouvez analyser la collection retournée pour accéder à chaque paire clé/valeur. L’exemple suivant montre comment analyser chaque élément retourné et affiche le nom et la valeur de chaque paire clé/valeur.You can parse the collection returned to access each key/value pair. The following example shows how to parse through each returned element and display the name and value of each key/value pair.

// 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());
}

Vous pouvez également obtenir la valeur d'un paramètre spécifique. Dans l'exemple suivant, le paramètre ExternalEwsUrl doit être affiché.Alternatively, you can obtain the value of a specific setting. In the following example, the ExternalEwsUrl setting is to be displayed.

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

Obtenir les paramètres de l’utilisateur à l’aide de la découverte automatique SOAP EWSGet user settings by using EWS SOAP Autodiscover

L’exemple suivant représente une demande XML SOAP destinée à extraire les deux paramètres de domaine auprès du service de découverte automatique.The following example shows a SOAP XML request to get both domain settings from the Autodiscover service.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:a="http://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="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <a:RequestedServerVersion>Exchange2013</a:RequestedServerVersion>
    <wsa:Action>http://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="http://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>

L’exemple suivant illustre la réponse XML renvoyée par le serveur après analyse de la demande du client.The following example shows the XML response that is returned by the server after it parses the request from the client.

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" 
        xmlns:a="http://www.w3.org/2005/08/addressing">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://schemas.microsoft.com/exchange/2010/
          Autodiscover/Autodiscover/GetDomainSettingsResponse</a:Action>
    <h:ServerVersionInfo xmlns:h="http://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="http://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>

Étapes suivantesNext steps

Les paramètres de domaine fournissent les informations de base dont votre client a besoin pour se connecter à EWS. Ces informations vous permettent de vous connecter à EWS. Vous pouvez également récupérer les paramètres de configuration supplémentaires pour un compte de messagerie à partir du serveur. Pour plus d’informations, consultez l’article suivant :Domain settings provide the basic information that your client needs to connect to EWS. You can use this information to connect to EWS, or you can retrieve additional configuration settings for an email account from the server. For more information, see the following article:

Voir aussiSee also