Utilisation de la découverte automatique pour rechercher des points de connexionUse Autodiscover to find connection points

Découvrez comment utiliser le service de découverte automatique pour diriger votre application cliente vers le serveur Exchange approprié.Find out how to use the Autodiscover service to direct your client application to the correct Exchange server.

Le service de découverte automatique Exchange fournit à votre application client avec les paramètres de configuration de comptes de messagerie qui sont hébergées sur Exchange Online, Exchange Online dans le cadre d’Office 365 ou un serveur Exchange qui exécute une version d’Exchange commençant par Exchange 2013.The Exchange Autodiscover service provides your client application with configuration settings for email accounts that are hosted on Exchange Online, Exchange Online as part of Office 365, or an Exchange server running a version of Exchange starting with Exchange 2013. Le service de découverte automatique est un service web qui fournit des paramètres de configuration.The Autodiscover service is a web service that provides configuration settings. Le service de découverte automatique est un service web qui fournit des informations de configuration Exchange server pour votre application cliente.The Autodiscover service is a web service that provides Exchange server configuration information to your client application. Applications clientes utilisent la découverte automatique pour déterminer le point de terminaison du service de découverte automatique pour une boîte aux lettres spécifique.Client applications use Autodiscover to determine the endpoint of the Autodiscover service for a specific mailbox. Cet article explique comment suivre les réponses à partir d’un serveur Exchange pour rechercher le point de terminaison correct.This article explains how to follow the responses from an Exchange server to find the correct endpoint.

Pour plus d’informations sur la façon d’obtenir des paramètres de configuration d’adresse de messagerie, voir obtenir les paramètres utilisateur à partir d’Exchange à l’aide de découverte automatique et obtenir les paramètres de domaine à partir d’un serveur Exchange.For information about how to get email address configuration settings, see Get user settings from Exchange by using Autodiscover and Get domain settings from an Exchange server.

Notes

Le processus pour rechercher le point de terminaison correct fait partie de la demande de l’utilisateur ou les paramètres de domaine.The process for finding the correct endpoint is part of the request for user or domain settings. Le service de découverte automatique utilise une série de réponses de redirection pour envoyer l’application cliente au point de terminaison correct pour une adresse de messagerie.The Autodiscover service uses a series of redirect responses to send the client application to the correct endpoint for an email address.

Vous pouvez utiliser une des technologies de développement Exchange suivantes pour accéder au service de découverte automatique :You can use one of the following Exchange 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.

Pour plus d’informations sur ces technologies de développement Exchange, voir Explorer l’API managée EWS, EWS et des services web Exchange.For more information about these Exchange development technologies, see Explore the EWS Managed API, EWS, and web services in 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.

Conditions préalables pour la recherche d’un point de terminaisonPrerequisites for finding an endpoint

Avant de pouvoir créer une application cliente qui utilise le service de découverte automatique, vous devez avoir accès à ce qui suit :Before you can create a client application that uses the Autodiscover service, you need to have access to the following:

  • Exchange Online ou un serveur qui exécute une version d’Exchange de démarrer avec Exchange 2007 SP1.Exchange Online or a server that is running a version of Exchange starting with Exchange 2007 SP1. Si vous utilisez le service Autodiscover basés sur SOAP, Exchange Online ou une version d’Exchange commençant par Exchange 2010.If you are using the SOAP-based Autodiscover service, Exchange Online or 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

[!REMARQUE] 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 qui sont 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, voir valider un certificat de serveur pour l’API managée EWS.For more information, see Validate a server certificate for the EWS Managed API.

Concepts de base pour la recherche d’un point de terminaisonCore concepts for finding an endpoint

Avant d’utiliser la découverte automatique pour trouver un point de terminaison, vous devez connaître avec les concepts figurant dans le tableau suivant.Before you use Autodiscover to find an endpoint, 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.

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.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. Pour utiliser les exemples de code d’API managées dans cet article, vous devez faire référence les espaces de noms suivants dans votre code :To use the EWS Managed API code samples in this article, you need to reference the following namespaces in your code:

  • System.NetSystem.Net

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

Rechercher le point de terminaison correct à l’aide de l’API managée EWSFind the correct endpoint by using the EWS Managed API

Si vous utilisez l’API managée EWS, les appels vers le service de découverte automatique sont gérés par la classe ExchangeService .If you are using the EWS Managed API, calls to the Autodiscover service are handled by the ExchangeService class. Pour déterminer le point de terminaison correct pour un compte de messagerie, vous appelez la méthode AutodiscoverUrl sur un objet [ExchangeService] .To determine the correct endpoint for an email account, you call the AutodiscoverUrl method on an [ExchangeService] object. L’exemple de code suivant montre comment définir le point de terminaison EWS web services pour une adresse de messagerie au fichier Exchange.asmx sur le serveur d’accès au Client approprié à l’aide de l’API managée EWS.The following code example shows how to set the EWS web service endpoint for an email address to the Exchange.asmx file on the correct Client Access server by using the EWS Managed API.

NetworkCredential credentials = new NetworkCredential(securelyStoredEmail, securelyStoredPassword);
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013);
service.Credentials = credentials;
service.AutodiscoverUrl("User1@contoso.com");

Rechercher le point de terminaison correct à l’aide de EWSFind the correct endpoint by using EWS

Le service de découverte automatique SOAP peut utiliser une série de demandes et réponses pour diriger votre application au point de terminaison correct pour EWS.The SOAP Autodiscover service may use a series of requests and responses to direct your application to the correct endpoint for EWS. Pour plus d’informations sur la façon de déterminer le point de terminaison correct pour un compte de messagerie, voir service de découverte automatique pour Exchange.For information about the process for determining the correct endpoint for an email account, see Autodiscover for Exchange. Les exemples de code XML suivants montrent la série de demandes et réponses que vous pouvez vous attendre lors d’une demande SOAP Autodiscover pour rechercher le point de terminaison correct.The following XML examples show the series of requests and responses that you can expect when making a SOAP Autodiscover request to find the correct endpoint.

Demande de point de terminaison SOAP découverte automatiqueSOAP Autodiscover endpoint request

L’exemple suivant montre une requête XML qui est envoyée au service de découverte automatique pour rechercher le point de terminaison correct.The following example shows an XML request that is sent to the Autodiscover service to find the correct endpoint.

<?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/GetUserSettings</wsa:Action>
    <wsa:To>https://mail.microsoft.com/autodiscover/autodiscover.svc</wsa:To>
  </soap:Header>
  <soap:Body>
    <a:GetUserSettingsRequestMessage xmlns:a="http://schemas.microsoft.com/exchange/2010/Autodiscover">
      <a:Request>
        <a:Users>
          <a:User>
            <a:Mailbox>User1@Contoso.com</a:Mailbox>
          </a:User>
        </a:Users>
        <a:RequestedSettings>
          <a:Setting>InternalEwsUrl</a:Setting>
          <a:Setting>ExternalEwsUrl</a:Setting>
        </a:RequestedSettings>
      </a:Request>
    </a:GetUserSettingsRequestMessage>
  </soap:Body>
</soap:Envelope>

Réponse de redirection SOAP découverte automatiqueSOAP Autodiscover redirection response

Le service de découverte automatique peut répondre avec une des deux réponses de redirection : une redirection HTTP 302, ou une réponse de redirection SOAP.The Autodiscover service may respond with one of two redirection responses: an HTTP 302 redirect, or a SOAP redirection response. Si la réponse du serveur Exchange est une redirection HTTP 302, l’application cliente doit valider que l’adresse de la redirection est acceptable et suivez la réponse de redirection.If the response from the Exchange server is an HTTP 302 redirect, the client application should validate that the redirection address is acceptable and then follow the redirection response.

Important

D’après les critères de validation d’une réponse de redirection, voir service de découverte automatique pour Exchange.For criteria for validating a redirection response, see Autodiscover for Exchange.

Si le service de découverte automatique renvoie une réponse de redirection indiquée par l’élément ErrorCode de l’élément de réponse utilisateur , votre application cliente doit utiliser l’élément RedirectTarget pour construire une nouvelle demande de paramètres qui est envoyé au serveur spécifié dans la réponse de redirection.If the Autodiscover service returns a redirection response, indicated by the ErrorCode element of the UserResponse element, your client application should use the RedirectTarget element to construct a new settings request that is sent to the server specified in the redirection response. L’exemple suivant montre une réponse de redirection à partir du serveur.The following example shows a redirection response from the server.

<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/GetUserSettingsResponse</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>682</h:MajorBuildNumber>
      <h:MinorBuildNumber>1</h:MinorBuildNumber>
      <h:Version>Exchange2013</h:Version>
    </h:ServerVersionInfo>
  </s:Header>
  <s:Body>
    <GetUserSettingsResponseMessage xmlns="http://schemas.microsoft.com/exchange/2010/Autodiscover">
      <Response xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <ErrorCode>NoError</ErrorCode>
        <ErrorMessage />
        <UserResponses>
          <UserResponse>
            <ErrorCode>RedirectAddress</ErrorCode>
            <ErrorMessage>Redirection address.</ErrorMessage>
            <RedirectTarget>User1@mail.Contoso.com</RedirectTarget>
            <UserSettingErrors />
            <UserSettings />
          </UserResponse>
        </UserResponses>
      </Response>
    </GetUserSettingsResponseMessage>
  </s:Body>
</s:Envelope>

Après une redirection, le client utilise l’URL de redirection pour préparer une autre requête.After a redirection, the client uses the redirection URL to prepare another request. Le code suivant montre un exemple de la demande que vous créez à partir de la réponse de redirection.The following code shows an example of the request that you create from the redirection response.

<?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/GetUserSettings</wsa:Action>
    <wsa:To>https://autodiscover.exchange.microsoft.com/autodiscover/autodiscover.svc</wsa:To>
  </soap:Header>
  <soap:Body>
    <a:GetUserSettingsRequestMessage xmlns:a="http://schemas.microsoft.com/exchange/2010/Autodiscover">
      <a:Request>
        <a:Users>
          <a:User>
            <a:Mailbox>User1@mail.Contoso.com</a:Mailbox>
          </a:User>
        </a:Users>
        <a:RequestedSettings>
          <a:Setting>InternalEwsUrl</a:Setting>
          <a:Setting>ExternalEwsUrl</a:Setting>
        </a:RequestedSettings>
      </a:Request>
    </a:GetUserSettingsRequestMessage>
  </soap:Body>
</soap:Envelope>

Lors de l’application cliente a été demandée au point de terminaison correct pour le service de découverte automatique, le serveur envoie une réponse à l’élément ErrorCode de l’élément de réponse utilisateur définie sur NoError et contenant les informations demandées paramètres utilisateur.When the client application has been directed to the correct endpoint for the Autodiscover service, the server will send a response with the ErrorCode element of the UserResponse element set to NoError and containing the requested user settings. Les paramètres utilisateur demandé uniquement, InternalEwsUrl et ExternalEwsUrl, sont renvoyés.Only the requested user settings, InternalEwsUrl and ExternalEwsUrl, are returned. L’exemple suivant montre la réponse du serveur.The following example shows the response from the server.

<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/GetUserSettingsResponse</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>
    <GetUserSettingsResponseMessage xmlns="http://schemas.microsoft.com/exchange/2010/Autodiscover">
      <Response xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <ErrorCode>NoError</ErrorCode>
        <ErrorMessage />
        <UserResponses>
          <UserResponse>
            <ErrorCode>NoError</ErrorCode>
            <ErrorMessage>No error.</ErrorMessage>
            <RedirectTarget i:nil="true" />
            <UserSettingErrors />
            <UserSettings>
              <UserSetting i:type="StringSetting">
                <Name>InternalEwsUrl</Name>
                <Value>https://server.Contoso.com/ews/exchange.asmx</Value>
              </UserSetting>
              <UserSetting i:type="StringSetting">
                <Name>ExternalEwsUrl</Name>
                <Value>https://server.Contoso.com/ews/exchange.asmx</Value>
              </UserSetting>
            </UserSettings>
          </UserResponse>
        </UserResponses>
      </Response>
    </GetUserSettingsResponseMessage>
  </s:Body>
</s:Envelope>

Étapes suivantesNext steps

Recherche le point de terminaison en suivant le processus de découverte automatique renvoie le domaine demandé ou les paramètres utilisateur.Finding the endpoint by following the Autodiscover process returns the requested domain or user settings. Pour plus d’informations sur la création d’une demande pour des paramètres spécifiques, consultez les articles suivants :For information about making a request for specific settings, see the following articles:

Voir aussiSee also