Procédure de dépannage du service de disponibilité de Microsoft Exchange Server 2007 à l'aide de la journalisation de Microsoft Office Outlook

 

Dernière rubrique modifiée : 2011-02-16

Le service de disponibilité de Microsoft Exchange Server 2007 renvoie les résultats des demandes d'informations de disponibilité sous la forme d'un message XML nommé GetUserAvailabilityResponse. Microsoft Office Outlook 2007 utilise le message GetUserAvailabilityResponse pour afficher les informations de disponibilité relatives à une réunion ou à un rendez-vous, ainsi que l'état de disponibilité de tous les utilisateurs inclus dans la demande d'informations de disponibilité.

Si le service de disponibilité n'obtient pas les informations de disponibilité d'un utilisateur, Outlook 2007 signale l'échec de la tentative par la mention Aucune information. Ce message de réponse n'est pas utile pour déterminer la raison pour laquelle aucune information n'est renvoyée. En revanche, il inclut des informations utiles pour diagnostiquer la cause de l'échec. Le message de réponse peut être révélé à des fins de diagnostic à l'aide de la fonction de journalisation d'Outlook 2007.

Procédure d'utilisation de la journalisation d'Outlook 2007

Activation de la journalisation dans Outlook 2007

  1. Ouvrez Outlook.

  2. Cliquez sur Outils, puis Options.

  3. Cliquez sur l'onglet Autres, puis sur Options avancées.

  4. Cliquez sur la case à cocher Activer l’enregistrement (dépannage), puis cliquez deux fois sur OK.

  5. Fermez, puis redémarrez Outlook.

importantImportant :
Veillez à désactiver la journalisation une fois le dépannage terminé. Si vous ne désactivez pas la journalisation, le programme continue à générer des fichiers journaux. Pour des raisons de performances et de sécurité, il est recommandé de n'activer la fonction de journalisation que si elle est indispensable.

Les fichiers journaux du service de disponibilité se trouvent dans le dossier %Temp%\olkas des utilisateurs d'Outlook. Outlook génère trois types de fichiers journaux différents en fonction de l'action exécutée. Chaque nom de fichier consiste en un code de deux ou trois lettres, associé à un horodateur qui garantit sa singularité. Les trois types de journaux sont les suivants :

  • OOF (Out of Office, absence du bureau)

  • MS (Meeting Suggestions, suggestions de réunion)

  • FB (Free/Busy, disponibilité)

Voici un exemple de fichier journal de disponibilité généré le 5 mars vers 11 heures du matin :

20070305-110303994-fb.log

Un fichier journal de disponibilité est généré chaque fois qu'au moins un utilisateur est ajouté à une demande de réunion sous l'onglet Assistant Planification. Ce fichier journal contient le message XML GetUserAvailabilityRequest que le client à envoyé au service de disponibilité. Il contient également le message XML GetUserAvailabilityResponse correspondant renvoyé par le service de disponibilité. Un nouveau fichier journal de disponibilité est généré pour chaque demande envoyée par le client.

Voici un exemple de message GetUserAvailabilityResponse extrait d'un fichier journal de disponibilité :

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Header><t:ServerVersionInfo MajorVersion="8" MinorVersion="0" MajorBuildNumber="685" MinorBuildNumber="24" xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" /></soap:Header><soap:Body><GetUserAvailabilityResponse xmlns="https://schemas.microsoft.com/exchange/services/2006/messages"><FreeBusyResponseArray><FreeBusyResponse><ResponseMessage ResponseClass="Error"><MessageText>Mailbox logon failed., inner exception: Cannot open mailbox /o=domain/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=user.</MessageText><ResponseCode>ErrorMailboxLogonFailed</ResponseCode><DescriptiveLinkKey>0</DescriptiveLinkKey><MessageXml><ExceptionType xmlns="https://schemas.microsoft.com/exchange/services/2006/errors">Microsoft.Exchange.InfoWorker.Common.Availability.MailboxLogonFailedException</ExceptionType><ExceptionCode xmlns="https://schemas.microsoft.com/exchange/services/2006/errors">5008</ExceptionCode></MessageXml></ResponseMessage><FreeBusyView><FreeBusyViewType xmlns="https://schemas.microsoft.com/exchange/services/2006/types">None</FreeBusyViewType></FreeBusyView></FreeBusyResponse></FreeBusyResponseArray></GetUserAvailabilityResponse></soap:Body></soap:Envelope>

Le message de réponse contient un grand nombre d'informations. En revanche, seules les sections suivantes contiennent les informations d'erreur requises :

MessageText : contient des informations sur l'échec

ResponseCode : contient l'exception à l'origine de l'échec

ExceptionCode : contient le code de réponse Web relatif à l'échec

Le bloc MessageText contient généralement un message explicite décrivant la cause de l'échec de la recherche de disponibilité. Les valeurs ResponseCode et ExceptionCode correspondent aux codes d'exception Web. REF _Ref160587194 \h \* MERGEFORMAT Error! Source du renvoi introuvable. Ces trois sections contiennent les informations requises pour dépanner l'échec.

Dépannage d'échecs spécifiques

Les exemples suivants présentent des échecs de recherche de disponibilité courants et la manière dont ils apparaissent dans la journalisation de disponibilité d'Outlook. Par souci de clarté, ces exemples n'incluent que les trois parties du journal mentionnées dans la section « Procédure d'utilisation de la journalisation d'Outlook 2007 » de cette rubrique.

Échec de la connexion à la boîte aux lettres

Le service de disponibilité extrait les informations de disponibilité des calendriers de boîte aux lettres Exchange 2007 en accédant directement aux boîtes aux lettres. Si le service de disponibilité ne peut pas accéder à une boîte aux lettres en raison d'un échec de connexion, il ne peut pas extraire d'informations. Dans ce cas, les entrées de journal suivantes sont générées :

<MessageText>Mailbox logon failed., inner exception: Cannot open mailbox /o=domain/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=user.</MessageText>
<ResponseCode>ErrorMailboxLogonFailed</ResponseCode>
<ExceptionCode xmlns="https://schemas.microsoft.com/exchange/services/2006/errors">5008</ExceptionCode>

Dans cet exemple, le bloc MessageText contient une explication simple de l'échec et l'identité de la boîte aux lettres qui n'a pas été ouverte. Les échecs de connexion peuvent avoir plusieurs causes. Parmi elles figurent une défaillance du service de banque de boîtes aux lettres et la présence de bases de données démontées. Si cette erreur est journalisée, vous devez vérifier l'état de la boîte aux lettres de l'utilisateur cible.

Erreur liées aux autorisations

Le service de disponibilité prend en charge un modèle d'autorisations de calendrier permettant aux propriétaires de boîtes aux lettres Exchange 2007 d'octroyer divers niveaux d'accès à leur calendrier. Par défaut, tout le monde dispose au moins des autorisations minimales requises pour consulter les informations de disponibilité. Toutefois, Outlook permet de modifier les autorisations de façon à ce que seuls les utilisateurs explicites y aient accès.

Si un utilisateur ajoute un participant à une demande de réunion et si ce dernier a défini des autorisations de calendrier n'autorisant pas l'accès de cet utilisateur, le service de disponibilité ne peut pas extraire les informations de disponibilité du participant.

Comme le client Outlook 2007 signale cet échec avec la mention Aucune information dans la grille de disponibilités pour le rendez-vous, il est difficile de diagnostiquer le message comme étant un problème d'autorisation sans l'aide de la journalisation d'Outlook. Par exemple, dans cette situation, le message suivant est journalisé :

<MessageText>Caller does not have access to free busy data.</MessageText>
<ResponseCode>ErrorNoFreeBusyAccess</ResponseCode>
<ExceptionCode xmlns="https://schemas.microsoft.com/exchange/services/2006/errors">5037</ExceptionCode>

Si cette erreur est journalisée, il est recommandé d'inviter le propriétaire de la boîte aux lettres cible à confirmer les autorisations de calendrier.

Défaillances de proxy

Le service de disponibilité peut accéder à tout calendrier de boîte aux lettres Exchange 2007 figurant dans le site Active Directory local. Si le service de disponibilité reçoit une demande de service relative à des informations de disponibilité pour une boîte aux lettres résidant dans un autre site Active Directory, le service transmet la demande par proxy au service de disponibilité de ce site Active Directory.

Quand une demande de disponibilité transmise par proxy à un autre service de disponibilité échoue, les informations sur l'échec en provenance du service de disponibilité distant sont incluses dans le message de réponse. Par exemple, le message suivant est journalisé :

<MessageText>The proxy request failed because the remote server returned an error., inner exception: Microsoft.Exchange.InfoWorker.Common.Availability.MailboxLogonFailedException:Mailbox logon failed., inner exception: Cannot open mailbox /o=domain/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=user.</MessageText>
<ResponseCode>ErrorProxyRequestProcessingFailed</ResponseCode>
<ExceptionCode xmlns="https://schemas.microsoft.com/exchange/services/2006/errors">5016</ExceptionCode>

Cette erreur indique que le service de disponibilité distant n'a pas pu ouvrir la boîte aux lettres cible. Cela ressemble à l'échec décrit dans le premier exemple. Dans ce cas, vous devez vérifier l'état de la boîte aux lettres de l'utilisateur cible pour voir si elle est disponible.

Si le service de disponibilité ne peut pas transmettre par proxy la demande d'informations de disponibilité en raison d'une défaillance du service de disponibilité distant, le message de réponse peut contenir des informations de trace de pile ressemblant à ceci :

<MessageText>System.Net.WebException: Unable to connect to the remote server ---&gt; System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it   at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)   at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket&amp; socket, IPAddress&amp; address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception&amp; exception)   --- End of inner exception stack trace ---   at System.Web.Services.Protocols.WebClientAsyncResult.WaitForResponse()   at System.Web.Services.Protocols.WebClientProtocol.EndSend(IAsyncResult asyncResult, Object&amp; internalAsyncState, Stream&amp; responseStream)   at System.Web.Services.Protocols.SoapHttpClientProtocol.EndInvoke(IAsyncResult asyncResult)   at Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.Service.EndGetUserAvailability(IAsyncResult asyncResult)   at Microsoft.Exchange.InfoWorker.Common.Availability.ProxyWebRequest.CompleteRequest(). The request information is ProxyWebRequest type = CrossSite, url = https://Servername.domain.com/EWS/Exchange.asmx
Mailbox list = &lt;mod4user9&gt;SMTP:user@domain.com, Parameters: windowStart = 2/20/2007 8:00:00 AM, windowEnd = 3/22/2007 8:00:00 AM, MergedFBInterval = 30, RequestedView = Detailed
.</MessageText>
<ResponseCode>ErrorProxyRequestProcessingFailed</ResponseCode>
<ExceptionCode xmlns="https://schemas.microsoft.com/exchange/services/2006/errors">5016</ExceptionCode>

Cette erreur indique que le service de disponibilité distant ne sert pas les demandes transmises par proxy. Le message de réponse inclut également des informations de trace de pile que vous pouvez utiliser pour effectuer, le cas échéant, des activités de débogage supplémentaires sur le serveur distant. Cette erreur est générée parce que le site Web par défaut sur le serveur distant a été suspendu.

Exchange 2007 prend en charge le partage d'informations de disponibilité entre forêts. En utilisant la configuration appropriée, le service de disponibilité peut transmettre par proxy des demandes inter-forêts à un autre service de disponibilité dans la forêt distante. Lorsque le service de disponibilité ne peut pas transmettre par proxy une demande à une autre forêt, le message de réponse peut contenir des informations ressemblant à ceci :

<MessageText>Unable to send cross-forest request for mailbox &lt;Fred Meyers&gt;SMTP:user@domain.com because of invalid configuration., inner exception: Configuration information for forest/domain domain.com could not be found in Active Directory.</MessageText>
<ResponseCode>ErrorProxyRequestProcessingFailed</ResponseCode>
<ExceptionCode xmlns="https://schemas.microsoft.com/exchange/services/2006/errors">5016</ExceptionCode>

Cette erreur indique que la configuration requise pour activer le partage inter-forêts d'informations de disponibilité, avec la forêt tailspintoys.com, est incomplète ou incorrecte.

Échecs de disponibilité hérités

Le service de disponibilité extrait les informations de disponibilité sur les propriétaires de boîtes aux lettres Exchange hérités du dossier public de disponibilité. Cette méthode est la même que celle utilisée par Outlook. Si le service de disponibilité ne peut pas extraire les informations de disponibilité sur les boîtes aux lettres héritées à partir d'un dossier public de disponibilité, l'erreur suivante est journalisée :

<MessageText>The remote server returned an error: (503) Server Unavailable.. The request information is http://ServerName.Domain.com/public/?Cmd=freebusy&amp;start=2007-02-20T14:00:00Z&amp;end=2007-03-22T14:00:00Z&amp;interval=30&amp;u=username@domain.com.</MessageText>
<ResponseCode>ErrorPublicFolderRequestProcessingFailed</ResponseCode>
<ExceptionCode xmlns="https://schemas.microsoft.com/exchange/services/2006/errors">5017</ExceptionCode>

Notes

Dans ce message, ServerName représente le nom de serveur réel.

Cet échec indique qu'une erreur 503 - Service indisponible s'est produite en raison de la présence d'une banque de dossiers publics démontée sur le serveur ServerName.