Dans le cadre de l’assistant de URBA, nous exploitons les disponibilités des utilisateurs (free busy de Exchange).
Le service est disponible de deux façons (cf article). Dans notre cas, nous avons choisit via OWA et pour cela,le serveur IIS utilise un composant XMLHttp de Microsoft pour dialoguer avec le serveur Exchange (2000 ou 2003 sachant qu’il est possible de réactiver cette fonctionnalité sous Exchange 2005)
L’adresse du service est
http://exchange/public/?cmd=freebusy
http://exchange/public/?cmd=freebusy
où exchange est votre serveur exchange et les paramètres à envoyer sont la date de début, la date de fin, l’interval et le mail de l’utilisateur.
&start=2008-02-07T08:00:00Z&end=2008-02-07T20:00:00Z&interval=60&u=SMTP:bcatteau@toto.com
&start=2008-02-07T08:00:00Z&end=2008-02-07T20:00:00Z&interval=60&u=SMTP:bcatteau@toto.com
Ensuite, le serveur répond de deux façons différentes selon que l’on soit Navigateur ou serveur en se basant sur la variable d’entete « User-Agent » (cf l’article).
Mais je constate (et c’est là l’interêt de ce post…) qu’en utilisant le composant Msxml2.ServerXMLHTTP.3.0, impossible de forcer la valeur du « user-agent » sur certains serveurs.
J’ai donc reglé le probleme en utilisant le composant msxml2.xmlhttp.
ce n’est pas la première fois que j’ai des problemes avec ces composants, la dernière fois, c’etait du à un bug d’un des composants qui ne transmettait pas les cookies de session en HTTPS !