Problembehandlung des Verfügbarkeitsdiensts von Microsoft Exchange Server 2007 mithilfe von Microsoft Office Outlook-Protokollierung

 

Letztes Änderungsdatum des Themas: 2011-02-16

Der Verfügbarkeitsdienst von Microsoft Exchange Server 2007 gibt die Ergebnisse von Frei/Gebucht-Anforderungen in Form einer XML-Nachricht zurück, die den Namen GetUserAvailabilityResponse trägt. Die Nachricht GetUserAvailabilityResponse wird vom Microsoft Office Outlook 2007-Client zum Anzeigen der Frei/Gebucht-Informationen des Besprechungstermins sowie des Verfügbarkeitsstatus für alle Benutzer verwendet, die in der Frei/Gebucht-Anforderung enthalten sind.

Wenn der Verfügbarkeitsdienst keine Frei/Gebucht-Informationen für angeforderte Benutzer abruft, zeigt Outlook 2007 den fehlerhaften Versuch als Keine Informationen an. Diese Antwortnachricht ist nicht hilfreich, wenn Sie den Grund zu ermitteln versuchen, warum keine Informationen zurückgegeben wurden. Diese Nachricht enthält jedoch Informationen, die Sie für die Diagnose der Fehlerursache verwenden können. Die Antwortnachricht kann für Diagnosezwecke mithilfe des Protokollierfeatures von Outlook 2007 abgerufen werden.

Verwenden der Outlook 2007-Protokollierung

Aktivieren der Protokollierung für Outlook 2007

  1. Öffnen Sie Outlook.

  2. Klicken Sie auf Extras und dann auf Optionen.

  3. Klicken Sie auf die Registerkarte Andere und dann auf Erweiterte Optionen.

  4. Aktivieren Sie das Kontrollkästchen Protokollierung aktivieren (Problembehandlung), und klicken Sie dann zwei Mal auf OK.

  5. Schließen Sie Outlook, und starten Sie dann Outlook.

Wichtig

Stellen Sie sicher, dass die Protokollierung deaktiviert wird, nachdem die Problembehandlung abgeschlossen ist. Wenn Sie die Protokollierung nicht deaktivieren, erstellt das Programm auch weiterhin Protokolldateien. Aus Leistungs- und Sicherheitsgründen sollte die Protokollierfunktion nur bei Bedarf aktiviert werden.

Der Protokolldateien des Verfügbarkeitsdiensts werden im Ordner %Temp%\olkas der Benutzer von Outlook gespeichert. Outlook generiert abhängig von der ausgeführten Aktion drei verschiedene Protokolldateitypen. Jeder Dateiname verwendet einen aus zwei oder drei Buchstaben bestehenden Code sowie aus Eindeutigkeitsgründen ein Datums- und einen Uhrzeitstempel. Die folgenden drei Protokolldateitypen stehen zur Verfügung:

  • OOF (Out of Office, abwesend)

  • MS (Meeting Suggestions, Besprechungsvorschläge)

  • FR (Free/Busy, Frei/Gebucht)

Das folgende Beispiel zeigt eine Frei/Gebucht-Protokolldatei, die gegen 11:00 Uhr am 5. März generiert wird:

20070305-110303994-fb.log

Eine Frei/Gebucht-Protokolldatei wird bei jedem Hinzufügen mindestens eines Benutzers zu einer Besprechungsanfrage auf der Registerkarte Terminplanungs-Assistent generiert. Die Protokolldatei enthält die XML-Nachricht GetUserAvailabilityRequest, die vom Client an den Verfügbarkeitsdienst gesendet wird. Die Datei enthält außerdem die entsprechende XML-Nachricht GetUserAvailabilityResponse, die vom Verfügbarkeitsdienst zurückgegeben wird. Eine neue Frei/Gebucht-Protokolldatei wird für jede Anforderung generiert, die vom Client gesendet wird.

Im Folgenden finden Sie ein Beispiel für die Nachricht GetUserAvailabilityResponse aus einer Frei/Gebucht-Protokolldatei:

<?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>

Die Antwortnachricht enthält vielfältige Informationen. Nur die folgenden Abschnitte enthalten jedoch die erforderlichen Fehlerinformationen:

MessageText: Enthält Informationen zum Fehler.

ResponseCode: Enthält die Ausnahme, die den Fehler verursacht hat.

ExceptionCode: Enthält den Webantwortcode für den Fehler.

Der Block MessageText enthält normalerweise eine umfassende Meldung, die erläutert, warum eine Fehler bei der Frei/Gebucht-Suche aufgetreten ist. Die Werte für ResponseCode und ExceptionCode entsprechen den Webausnahmecodes. REF _Ref160587194 \h \* MERGEFORMAT Error! Verweisquelle konnte nicht gefunden werden. Diese drei Abschnitte enthalten die Informationen, die zum Beheben des Fehlers erforderlich sind.

Problembehandlung bestimmter Fehler

Die folgenden Beispiele zeigen einige häufige Fehler der Verfügbarkeitssuche sowie deren Anzeige in der Frei/Gebucht-Protokollierung von Outlook. Aus Gründen der Übersichtlichkeit enthalten diese Beispiele nur die drei Abschnitte des Protokolls, die im Abschnitt "Verwenden der Outlook 2007-Protokollierung" dieses Themas erwähnt werden.

Fehler bei der Postfachanmeldung

Der Verfügbarkeitsdienst ruft die Frei/Gebucht-Informationen aus Exchange 2007-Postfachkalendern ab, indem er direkt auf das Postfach zugreift. Wenn der Verfügbarkeitsdienst aufgrund eines Anmeldefehlers nicht auf ein Postfach zugreifen kann, kann der Dienst die Informationen auch nicht abrufen. In diesem Fall werden die folgenden Protokolleinträge generiert:

<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>

In diesem Beispiel enthält der Block MessageText eine einfache Erläuterung des Fehlers sowie zur Identität des Postfachs, das nicht geöffnet wurde. Anmeldefehler können verschiedene Ursachen haben. Dabei kann es sich z. B. um Fehler des Postfachspeicherdiensts oder Datenbanken handeln, deren Bereitstellung aufgehoben wurde. Wenn dieser Fehler protokolliert wird, sollten Sie den Status des Postfachs des Zielbenutzers überprüfen.

Berechtigungsfehler

Der Verfügbarkeitsdienst unterstützt ein Kalenderberechtigungsmodell, durch das Exchange 2007-Postfachbesitzer verschiedene Zugriffsebenen auf ihren Kalender erteilen können. Standardmäßig besitzt jeder Benutzer mindestens die Minimalberechtigungen, die zum Anzeigen von Frei/Gebucht-Informationen erforderlich sind. Die Berechtigungen können jedoch in Outlook so geändert werden, dass nur ausdrücklich angegebene Benutzer Zugriff besitzen.

Wenn ein Benutzer einer Besprechungsanfrage einen Teilnehmer hinzufügt, und dieser Teilnehmer hat Kalenderberechtigungen festgelegt, die diesem Benutzer den Zugriff nicht erlauben, kann der Verfügbarkeitsdienst die Frei/Gebucht-Informationen des Teilnehmers nicht abrufen.

Da der Outlook 2007-Client diesen Fehler als Keine Informationen im Frei/Gebucht-Raster des Termins darstellt, kann anhand der Meldung ohne Zuhilfenahme der Outlook-Protokollierung nur schwer die Diagnose "Berechtigungsproblem" gestellt werden. Unter diesen Umständen wird z. B. die folgende Meldung protokolliert:

<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>

Wenn dieser Fehler protokolliert wird, sollten Sie den Besitzer des Postfachs auffordern, die Kalenderberechtigungen zu bestätigen.

Proxyfehler

Der Verfügbarkeitsdienst kann auf beliebige Exchange 2007-Postfachkalender am lokalen Active Directory-Standort zugreifen. Wenn der Verfügbarkeitsdienst eine Dienstanforderung für Frei/Gebucht-Informationen für ein Postfach empfängt, das an einem anderen Active Directory-Standort gespeichert ist, leitet der Dienst die Anforderung mithilfe der Proxyfunktion an den Verfügbarkeitsdienst an diesem Active Directory-Standort weiter.

Wenn bei einer an einen anderen Verfügbarkeitsdienst weitergeleiteten Frei/Gebucht-Anforderung ein Fehler auftritt, werden die Fehlerinformationen vom Remoteverfügbarkeitsdienst in die Antwortnachricht aufgenommen. Es wird z. B. die folgende Meldung protokolliert:

<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>

Dieser Fehler zeigt an, dass der Remoteverfügbarkeitsdienst das Zielpostfach nicht öffnen konnte. Dieser Fehler ähnelt dem Fehler im ersten Beispiel. Unter diesen Umständen sollten Sie den Status des Postfachs des Zielbenutzers überprüfen und feststellen, ob dieses verfügbar ist.

Wenn der Verfügbarkeitsdienst eine Anforderung für Frei/Gebucht-Informationen nicht weiterleiten kann, weil ein Fehler des Remoteverfügbarkeitsdiensts auftritt, enthält die Antwortnachricht ggf. Stacktraceinformationen, die den folgenden ähneln:

<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>

Dieser Fehler zeigt an, dass der Remoteverfügbarkeitsdienst keine weitergeleiteten Anforderungen verarbeitet. Die Antwortnachricht enthält außerdem Stacktraceinformationen, die Sie für zusätzliche Debugaktivitäten auf dem Remoteserver verwenden können, wenn dies erforderlich sein sollte. Dieser Fehler wird generiert, weil die Standardwebsite auf dem Remoteserver angehalten wurde.

Exchange 2007 unterstützt die Freigabe von Frei/Gebucht-Informationen zwischen Gesamtstrukturen. Mithilfe der entsprechenden Konfiguration kann der Verfügbarkeitsdienst Anforderungen gesamtstrukturübergreifend an einen anderen Verfügbarkeitsdienst in der Remotegesamtstruktur weiterleiten. Wenn der Verfügbarkeitsdienst eine Anforderung nicht an eine andere Gesamtstruktur weiterleiten kann, enthält die Antwortnachricht ggf. Informationen, die den folgenden ähneln:

<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>

Dieser Fehler zeigt an, dass die Konfiguration, die zum Aktivieren der gesamtstrukturübergreifenden Freigabe von Frei/Gebucht-Informationen zusammen mit der Gesamtstruktur tailspintoys.com erforderlich war, unvollständig oder nicht ordnungsgemäß konfiguriert ist.

Frei-/Gebucht-Legacyfehler

Der Verfügbarkeitsdienst ruft die Frei/Gebucht-Informationen für Besitzer von Exchange-Legacypostfächern aus dem Öffentlichen Frei/Gebucht-Ordner ab. Die gleiche Methode wird von Outlook verwendet. Wenn der Verfügbarkeitsdienst keine Frei/Gebucht-Informationen für Legacypostfächer aus einem Öffentlichen Frei/Gebucht-Ordner abruft, wird der folgende Fehler protokolliert:

<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>

Hinweis

In dieser Nachricht stellt ServerName den tatsächlichen Servernamen dar.

Dieser Fehler zeigt an, dass ein Fehler des Typs 503 (Dienst nicht verfügbar) aufgrund eines nicht bereitgestellten Informationsspeichers für Öffentliche Ordner auf dem Server ServerName aufgetreten ist.