Partager via


Obtenir des informations de configuration de service à l’aide d’EWS dans Exchange

Découvrez comment obtenir des informations de configuration de service pour la messagerie unifiée, les modifications de stratégie, les conseils de messagerie et les règles de protection à partir d’EWS dans Exchange.

Votre application EWS fonctionne-t-elle avec la messagerie unifiée (UM), les nudges de stratégie, les conseils de messagerie ou les règles de protection ? Si c’est le cas, votre application doit appeler l’opération GetServiceConfiguration pour obtenir les informations de configuration du service dont elle a besoin. L’opération GetServiceConfiguration retourne des informations de configuration spécifiques à chacune de ces fonctionnalités EWS.

Remarque

L’API managée EWS n’implémente pas cette fonctionnalité.

Tableau 1. Informations de configuration retournées par l’opération GetServiceConfiguration

Fonctionnalité EWS L’opération GetServiceConfiguration retourne...
Messagerie unifiée
  • Valeur qui indique si la messagerie unifiée est activée.
  • Valeur qui indique si la lecture sur téléphone est activée.
  • La lecture sur la chaîne de numérotation du téléphone.
Nudges de stratégie
  • Nudges de stratégie pour l’affichage dans votre client.
Infos-courrier
  • Valeur qui indique si les conseils de messagerie sont activés.
  • Nombre maximal de destinataires par demande.
  • Taille maximale des messages.
  • Seuil d’audience importante.
  • Valeur qui indique si le nombre de destinataires externes est affiché.
  • Liste des domaines internes.
  • Valeur qui indique si les conseils de stratégie sont activés.
  • Seuil d’audience élevé pour indiquer si votre courrier est considéré comme ayant un grand nombre de destinataires.
Règles de protection
  • Configuration des règles de protection pour votre client.
  • Liste des domaines internes à votre organisation.

Exemple de code : Obtenir des informations de configuration de service pour les conseils de messagerie à l’aide d’EWS

L’exemple de code suivant utilise l’opération GetServiceConfiguration pour demander des informations de configuration de service pour obtenir des conseils de messagerie. Vous pouvez demander des informations de configuration de service supplémentaires en ajoutant d’autres éléments ConfigurationName avec des valeurs différentes.

private static void GetServiceConfiguration(ExchangeService service, NetworkCredential creds)
{ 
  // XML for the GetServiceConfiguration request SOAP envelope for mail tips configuration information.
  const string getServiceConfigurationRequest = 
    "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +
    "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
    "               xmlns:m=\"http://schemas.microsoft.com/exchange/services/2006/messages\"\n" +
    "               xmlns:t=\"http://schemas.microsoft.com/exchange/services/2006/types\" \n" +
    "               xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"\n" +
    "               xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n" +
    "  <soap:Header>\n" +
    "    <t:RequestServerVersion Version=\"Exchange2013\" />\n" +
    "  </soap:Header>\n" +
    "  <soap:Body>\n" +
    "    <m:GetServiceConfiguration>\n" +
    "      <m:ActingAs>\n" +
    "        <t:EmailAddress>user1@contoso.com</t:EmailAddress>\n" +
    "        <t:RoutingType>SMTP</t:RoutingType>\n" +
    "      </m:ActingAs>\n" +
    "      <m:RequestedConfiguration>\n" +
    "        <m:ConfigurationName>MailTips</m:ConfigurationName>\n" +
    "      </m:RequestedConfiguration>\n" +
    "    </m:GetServiceConfiguration>\n" +
    "  </soap:Body>\n" +
    "</soap:Envelope>";
  // Encoded GetServiceConfiguration operation request.
  byte[] payload = System.Text.Encoding.UTF8.GetBytes(getServiceConfigurationRequest);
  try
  {
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(service.Url);
    request.AllowAutoRedirect = false;
    request.Credentials = creds;
    request.Method = "POST";
    request.ContentType = "text/xml";
    Stream requestStream = request.GetRequestStream();
    requestStream.Write(payload, 0, payload.Length);
    requestStream.Close();
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    if (response.StatusCode == HttpStatusCode.OK)
    {
      Stream responseStream = response.GetResponseStream();
      StreamReader reader = new StreamReader(responseStream);
      string responseFromServer = reader.ReadToEnd();
      Console.WriteLine("You will need to parse this response to get the configuration information:\n\n" + responseFromServer);
      reader.Close();
      responseStream.Close();
    }
    else
      throw new WebException(response.StatusDescription);
          
  }
  catch (WebException e)
  {
    Console.WriteLine(e.Message);
  }
}

Étapes suivantes

Après avoir demandé des informations de configuration de service, utilisez la classe XmlDocument pour charger le xml de réponse afin de pouvoir l’analyser. Ensuite, selon votre scénario, vous pouvez effectuer l’une des opérations suivantes :

Voir aussi