Les webservices Exchange – Préparer la connexion

1 minutes read

Dans l’article précédent où vous avez vu comment ajouter une référence à EWS je vais vous expliquer aujourd’hui comment vous y connecter.

Vous trouverez la classe ExchangeServiceBinding au sein du proxy généré par Visual Studio aux EWS. C’est cette classe qui contient les méthodes pour appeler les webservices. La suite de cet article parlera donc essentiellement de la manière de l’initialiser.

Créer une instance

var esb = new ExchangeServiceBinding();

Ajouter vos informations d’authentification

Afin de vous authentifier sur le serveur Exchange il faut fournir une instance de classe implémentant ICredentials. La méthode la plus commune est celle par login et mot de passe et celle que je vais montrer dans cet article. Je montrerai dans un prochain article comment vous authentifier sans ces derniers si vous êtes sur le même domaine que le serveur Exchange.

private static ICredentials GetCredentials()
{
  var credential = new System.Net.NetworkCredential();
  credential.UserName = "login";
  credential.Password = "password";
  credential.Domain = "domain";
  return credential;
}
. . .

esb.Credentials = GetCredentials();

Configurer l’adresse du serveur Exchange

private const string ExchangeServerBaseAddress = "https://mu.lan";
. . .
esb.Url = ExchangeServerBaseAddress + "/ews/exchange.asmx";

Configurer les connexions sécurisées si besoin

Vous avez pu constater que dans l’étape 3 j’utilise un point d’accès sécurisé en SSL. Ceci peut poser des problèmes si le certificat de votre serveur a été auto-signé ou n’a pas été reconnu par une autorité racine. Le Framework .NET vérifiant les certificats et rejetant la connexion si la validation échoue, un des moyen de circonvenir à cela est d’utiliser la ligne suivante qui valide tous les certificats et de l’insérer soit au début du flux d’exécution de votre application, soit dans le constructeur statique de la classe principale par exemple (attention à la sécurité quand même!).

ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true

Votre instance de ExchangeServiceBinding est désormais configurée pour se connecter sans encombres à EWS. Pour l’instant cependant, vous ne vous êtes toujours pas connecté à EWS. Dans le prochain post je vous montrerai comment créer un contact et donc comment faire vos premières opérations avec Exchange.

Updated:

Leave a Comment