Obtener la configuración de dominio de un servidor de Exchange
Aprenda a obtener la configuración del dominio de un servidor Exchange mediante el servicio Detección automática.
Puede recuperar información de configuración de un dominio de correo electrónico mediante el servicio Detección automática. El servicio Detección automática proporciona un proceso a la aplicación para conectarse al punto de conexión del servicio correcto de un dominio específico.
Puede usar una de las siguientes tecnologías de desarrollo para tener acceso al servicio Detección automática:
La API administrada de servicios Web Exchange (EWS)
EWS
Si usa EWS, puede usar los métodos siguientes para recuperar la configuración de usuario:
El servicio Detección automática basado en SOAP
El servicio Detección automática XML (POX)
Un proxy generado automáticamente se ha generado del servicio Detección automática de XML o SOAP
Para obtener más información sobre estos métodos, vea Detección automática en Exchange.
La API administrada de EWS proporciona una interfaz basada en objetos para recuperar la configuración de usuario. Si su aplicación cliente usa un código administrado, le recomendamos que use la API administrada de EWS. La interfaz de la API administrada de EWS está mejor optimizada para un modelo de objetos simples que el típico proxy de servicio web generado automáticamente.
Si está usando EWS, le sugerimos que use el servicio Detección automática de SOAP, ya que admite un conjunto superior de características que el servicio Detección automática de POX.
El servicio Detección automática solo devuelve las opciones de configuración solicitadas. En la siguiente tabla se enumeran las opciones de configuración de dominio que puede devolver el servicio Detección automática.
Tabla 1: Opciones de configuración de dominio
Opción de configuración | Descripción |
---|---|
ExternalEwsUrl |
La dirección URL externa para EWS. |
ExternalEwsVersion |
La versión del servidor Exchange que hospeda la dirección URL de EWS. |
Requisitos previos para obtener la configuración del dominio
Antes de crear una aplicación que se conecte al servicio Detección automática para obtener la configuración del dominio, asegúrese de que tiene acceso a lo siguiente:
Exchange Online, Exchange Online como parte de Office 365 o un servidor que ejecuta una versión de Exchange a partir de Exchange 2007. Si está usando el servicio Detección automática basado en SOAP de EWS, un servidor que ejecuta una versión de Exchange a partir de Exchange 2010.
Un servidor Exchange que está configurado para aceptar conexiones de su aplicación cliente. Para obtener información sobre cómo configurar su servidor de Exchange, vea Controlar el acceso de la aplicación de cliente a EWS en Exchange.
Una cuenta que esté autorizada para usar EWS. Para obtener información sobre cómo configurar una cuenta, vea Controlar el acceso de la aplicación de cliente a EWS en Exchange.
Nota
Si está usando la API administrada de EWS, debe proporcionar una devolución de llamada de validación de certificado en algunas circunstancias. También puede necesitar una devolución de llamada de validación de certificado con algunas bibliotecas de proxy generadas, como las que se han creado mediante Visual Studio. Para obtener más información, vea Validar un certificado de servidor de la API de administración de EWS.
Conceptos básicos para obtener la configuración del dominio
Antes de que use la Detección automática para obtener la configuración del dominio, debería familiarizarse con los conceptos que se enumeran en la siguiente tabla.
Concepto | Descripción |
---|---|
Detección automática en Exchange |
Proporciona información general del funcionamiento del servicio Detección automática. |
Usar autodetección para buscar puntos de conexión |
Describe el proceso que ha usado el servicio Detección automática para redirigir la aplicación cliente al punto de conexión de servicio correcto. |
Si usa la API administrada de EWS, usa la clase Microsoft.Exchange.WebServices.Data.ExchangeService del espacio de nombres Microsoft.Exchange.WebServices.Data para administrar la conexión con EWS. En los ejemplos de código de esta sección se asume que hace referencia a los siguientes espacios de nombres en el código:
System.Net
Microsoft.Exchange.WebServices.Data.ExchangeService
Obtener la configuración del dominio mediante la API administrada de EWS
Si usa la API administrada de EWS, puede usar el método Microsoft.Exchange.WebServices.Data.AutodiscoverSettings.GetUserSettings del objeto Microsoft.Exchange.WebServices.Data.AutodiscoverService para generar la solicitud que recupera información de configuración para un dominio, como se muestra en el ejemplo siguiente. En este ejemplo, solo se solicitan algunas de las posibles opciones de configuración del dominio, y solo las opciones de configuración solicitadas se devuelven del servidor.
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);
Puede analizar la colección que se ha devuelto para tener acceso a cada par clave-valor. En el siguiente ejemplo se muestra cómo analizar mediante cada elemento devuelto y mostrar el nombre y el valor de cada par clave-valor.
// 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());
}
De manera alternativa, puede obtener el valor de una configuración específica. En el siguiente ejemplo, se va a mostrar la configuración ExternalEwsUrl.
// Display a specific setting, such as ExternalEwsUrl.
Console.WriteLine(domainresponse.Settings[DomainSettingName.ExternalEwsUrl]);
Obtener la configuración de usuario mediante la Detección automática SOAP de EWS
En el siguiente ejemplo se muestra una solicitud XML de SOAP para obtener la configuración de dominio del servicio Detección automática.
<?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>
En el siguiente ejemplo se muestra la respuesta XML que se ha devuelto del servidor después de que analice la solicitud del cliente.
<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>
Siguientes pasos
La configuración de dominio proporciona la información básica que su cliente necesita para conectarse a EWS. Puede usar esta información para conectarse a EWS, o puede recuperar las opciones de configuración adicionales de una cuenta de correo electrónico del servidor. Para obtener más información, vea el siguiente artículo: