Utilisation de la découverte automatique pour trouver 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 cliente des paramètres de configuration pour les comptes de messagerie hébergés sur Exchange Online, Exchange Online dans le cadre d’Office 365 ou un serveur Exchange exécutant une version d’Exchange à partir d’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 à votre application cliente.The Autodiscover service is a web service that provides Exchange server configuration information to your client application. Les 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 d’un serveur Exchange pour trouver 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 les paramètres de configuration des adresses de messagerie, consultez la rubrique obtenir les paramètres utilisateur à partir d’Exchange à l’aide de la 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 de recherche du point de terminaison correct fait partie de la demande pour les paramètres de l’utilisateur ou du 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 approprié 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 l’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 les services Web dans 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 à la recherche d’un point de terminaisonPrerequisites for finding an endpoint

Pour 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 à partir d’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 de découverte automatique basé 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

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 Validate a server certificate for the EWS Managed API.

Concepts de base pour trouver un point de terminaisonCore concepts for finding an endpoint

Avant d’utiliser la découverte automatique pour trouver un point de terminaison, vous devez être familiarisé avec les concepts présentés 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 de l’API managée EWS dans cet article, vous devez référencer 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

Trouver 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 au 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 approprié 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 du service Web EWS pour une adresse de messagerie dans le 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");

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

Le service de découverte automatique SOAP peut utiliser une série de demandes et de réponses pour diriger votre application vers le 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 le processus permettant de déterminer le point de terminaison correct pour un compte de messagerie, consultez la rubrique 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 XML suivants montrent la série de demandes et de réponses que vous pouvez vous attendre lors de la création d’une demande de découverte automatique SOAP pour trouver le point de terminaison approprié.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 de découverte automatique SOAPSOAP Autodiscover endpoint request

L’exemple suivant montre une requête XML qui est envoyée au service de découverte automatique pour trouver 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="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/GetUserSettings</wsa:Action>
    <wsa:To>https://mail.microsoft.com/autodiscover/autodiscover.svc</wsa:To>
  </soap:Header>
  <soap:Body>
    <a:GetUserSettingsRequestMessage xmlns:a="https://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 de la découverte automatique SOAPSOAP 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 vérifier que l’adresse de redirection est acceptable, puis suivre 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

Pour obtenir les critères de validation d’une réponse de redirection, consultez la rubrique 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 UserResponse , votre application cliente doit utiliser l’élément RedirectTarget pour créer une nouvelle demande de paramètres qui est envoyée 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 du serveur.The following example shows a redirection response from the server.

<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/GetUserSettingsResponse</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>682</h:MajorBuildNumber>
      <h:MinorBuildNumber>1</h:MinorBuildNumber>
      <h:Version>Exchange2013</h:Version>
    </h:ServerVersionInfo>
  </s:Header>
  <s:Body>
    <GetUserSettingsResponseMessage xmlns="https://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 demande.After a redirection, the client uses the redirection URL to prepare another request. Le code suivant illustre un exemple de la requête 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="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/GetUserSettings</wsa:Action>
    <wsa:To>https://autodiscover.exchange.microsoft.com/autodiscover/autodiscover.svc</wsa:To>
  </soap:Header>
  <soap:Body>
    <a:GetUserSettingsRequestMessage xmlns:a="https://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>

Lorsque l’application cliente a été dirigée vers le point de terminaison approprié pour le service de découverte automatique, le serveur envoie une réponse avec l’élément ErrorCode de l’élément UserResponse défini sur NOERROR et contenant les paramètres utilisateur demandés.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. Seuls les paramètres utilisateur demandés, 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="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/GetUserSettingsResponse</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>
    <GetUserSettingsResponseMessage xmlns="https://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

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

Voir aussiSee also