Come risolvere il problema del servizio Disponibilità di Microsoft Exchange Server 2007 utilizzando la registrazione di Microsoft Office Outlook

 

Ultima modifica dell'argomento: 2011-02-16

Il servizio Disponibilità di Microsoft Exchange Server 2007 restituisce i risultati delle richieste sulla disponibilità sotto forma di un messaggio XML denominato GetUserAvailabilityResponse. Questo messaggio viene utilizzato dal client Microsoft Office Outlook 2007 per visualizzare le informazioni sulla disponibilità per le riunioni e lo stato di disponibilità di tutti gli utenti inclusi nella richiesta di disponibilità.

Se il servizio Disponibilità non recupera informazioni sulla disponibilità di uno qualunque degli utenti richiesti, il tentativo non riuscito viene visualizzato in Outlook 2007 come Nessuna informazione. Questo messaggio di risposta non risulta utile quando si tenta di determinare per quale motivo non vengono restituite informazioni. Il messaggio include tuttavia informazioni che è possibile utilizzare per diagnosticare la causa dell'errore. Il messaggio di risposta può essere visualizzato a fini diagnostici utilizzando la funzionalità di registrazione di Outlook 2007.

Utilizzo della registrazione di Outlook 2007

Abilitare la registrazione su Outlook 2007

  1. Aprire Outlook

  2. Fare clic su Strumenti e quindi su Opzioni.

  3. Scegliere la scheda Altro, quindi fare clic su Opzioni avanzate.

  4. Selezionare la casella di controllo Abilita registrazione (risoluzione dei problemi), quindi fare clic su OK due volte.

  5. Chiudere e avviare Outlook.

Importante

Al termine della risoluzione del problema, accertarsi di aver disattivato la registrazione. In caso contrario, il programma continua a creare file di registro. Ai fini delle prestazioni e della protezione, attivare la funzionalità di registrazione solo quando necessario.

I file di registro del servizio Disponibilità sono disponibili nella cartella %Temp%\olkas degli utenti di Outlook. In Outlook vengono generati tre tipi differenti di file di registro in base all'azione eseguita. In ogni nome del file è incorporato un codice a due o tre lettere insieme alla data e all'ora di creazione in modo da poter distinguere i file. I tre tipi di registro sono i seguenti:

  • Fuori sede (OOF, Out of Office)

  • Proposte di riunioni (MS, Meeting Suggestions)

  • Disponibilità (FB, Free/Busy)

Di seguito viene riportato un esempio di file di registro sulla disponibilità generato all'incirca alle 11:00 del 5 marzo:

20070305-110303994-fb.log

Un file di registro sulla disponibilità viene generato ogni volta che uno o più utenti vengono aggiunti a una richiesta di riunione sulla scheda Assistente Pianificazione. Il file di registro include il messaggio XML GetUserAvailabilityRequest che il client ha inviato al servizio Disponibilità. Nel file è inoltre incluso il corrispondente messaggio XML GetUserAvailabilityResponse restituito dal servizio Disponibilità. Per ogni richiesta inviata dal client, viene generato un nuovo file di registro sulla disponibilità.

Di seguito viene riportato un esempio del messaggio GetUserAvailabilityResponse contenuto in un file di registro sulla 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>

Il messaggio di risposta contiene numerose informazioni. Solo le seguenti sezioni contengono tuttavia le informazioni richieste sull'errore:

MessageText: contiene informazioni sull'errore

ResponseCode: contiene l'eccezione che ha causato l'errore

ExceptionCode: contiene il codice della risposta Web per l'errore

Il blocco MessageText contiene generalmente un messaggio completo in cui viene spiegato il motivo alla base dell'errore nella ricerca sulla disponibilità. I valori ResponseCode ed ExceptionCode corrispondono ai codici dell'eccezione Web. REF _Ref160587194 \h \* MERGEFORMAT Error! Origine di riferimento non trovata. Queste tre sezioni contengono informazioni necessarie per la risoluzione dell'errore.

Risoluzione di problemi specifici

Nei seguenti esempi vengono mostrati alcuni errori comuni di ricerca sulla disponibilità e il modo in cui tali errori vengono visualizzati nella registrazione sulla disponibilità di Outlook. Per maggior chiarezza, questi esempi includono solo le tre sezioni del registro menzionaei nella sezione "Utilizzo della registrazione di Outlook 2007" di questo argomento.

Errore di accesso alla cassetta postale

Il servizio Disponibilità recupera le informazioni sulla disponibilità dai calendari della cassetta postale di Exchange 2007 accedendo direttamente alla cassetta postale. Se il servizio Disponibilità non riesce ad accedere a una cassetta postale a causa di un errore di accesso, non è in grado di recuperare le informazioni. In questo caso, vengono generate le seguenti voci del registro:

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

Nell'esempio, il blocco MessageText contiene una semplice spiegazione dell'errore e informazioni sull'identità della cassetta postale alla quale non si è riusciti ad accedere. Gli errori di accesso possono dipendere da diverse condizioni, tra cui un errore del servizio Archivio cassetta postale e database disinstallati. Quando viene registrato questo errore, è necessario verificare lo stato della cassetta postale dell'utente di destinazione.

Errore di autorizzazioni

Il servizio Disponibilità supporta un modello di autorizzazioni del calendario che consente ai proprietari della cassetta postale di Exchange 2007 di concedere vari livelli di accesso al calendario. Per impostazione predefinita, ogni utente dispone almeno delle autorizzazioni minime necessarie per visualizzare le informazioni sulla disponibilità. Le autorizzazioni possono tuttavia essere modificate da Outlook in modo che solo determinati utenti possano accedervi.

Se un utente aggiunge un partecipante a una richiesta di riunione e se tale partecipante ha impostato autorizzazioni del calendario che non consentono l'accesso di tale utente, il servizio Disponibilità non è in grado di recuperare le informazioni sulla disponibilità del partecipante.

Poiché il client Outlook 2007 restituisce tale errore come Nessuna informazione nella griglia sulla disponibilità per gli appuntamenti, è difficile diagnosticare il messaggio come un problema di autorizzazioni senza l'aiuto della registrazione di Outlook. In tale situazione, viene ad esempio registrato il seguente messaggio:

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

Quando viene registrato questo errore, è necessario rivolgersi al proprietario della cassetta postale di destinazione per la conferma delle autorizzazioni del calendario.

Errori del proxy

Il servizio Disponibilità può accedere a qualsiasi calendario della cassetta postale di Exchange 2007 nel sito Active Directory locale. Se il servizio Disponibilità riceve una richiesta del servizio per informazioni sulla disponibilità per una cassetta postale che risiede in un altro sito Active Directory, il servizio inoltra la richiesta la servizio Disponibilità in tale sito Active Directory.

In caso di errore di una richiesta sulla disponibilità inoltrata a un altro servizio sulla Disponibilità, le informazioni sull'errore restituite dal servizio Disponibilità remoto vengono incluse nel messaggio di risposta. Viene ad esempio registrato il seguente messaggio:

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

L'errore indica che il servizio Disponibilità remoto non è stato in grado di aprire la cassetta postale di destinazione. Questo errore è simile a quello illustrato nel primo esempio. In questo caso, è necessario verificare lo stato della cassetta postale dell'utente di destinazione per controllare che sia disponibile.

Quando il servizio Disponibilità non è in grado di inoltrare una richiesta per le informazioni sulla disponibilità a causa di un errore del servizio Disponibilità remoto, è probabile che nel messaggio di risposta siano contenute informazioni sulla traccia dello stack simili a quelle riportate di seguito:

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

L'errore indica che il servizio Disponibilità remoto non sta eseguendo le richieste di inoltro. Nel messaggio di riposta sono inoltre incluse informazioni sulla traccia dello stack che è possibile utilizzare per eseguire ulteriori attività di debug sul server remoto, se necessario. L'errore viene generato poiché il sito Web predefinito sul server remoto è stato sospeso.

Exchange 2007 supporta la condivisione delle informazioni sulla disponibilità tra foreste. Se si utilizza la configurazione appropriata, il servizio Disponibilità è in grado di inoltrare le richieste tra foreste a un altro servizio Disponibilità nella foresta remota. Quando il servizio Disponibilità non è in grado di inoltrare una richiesta a un'altra foresta, è probabile che nel messaggio di riposta siano contenute informazioni simili a quelle riportate di seguito:

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

L'errore indica che la configurazione richiesta per attivare la condivisione tra foreste delle informazioni sulla disponibilità insieme alla foresta tailspintoys.com è incompleta o non è stata eseguita correttamente.

Errori sulla disponibilità esistente

Il servizio Disponibilità recupera le informazioni sulla disponibilità per i proprietari della cassetta postale esistente di Exchange dalla cartella pubblica sulla disponibilità,. Si tratta dello stesso metodo utilizzato da Outlook. Quando il servizio Disponibilità non recupera informazioni sulla disponibilità per le cassette postali esistenti da una cartella pubblica sulla disponibilità, viene registrato il seguente errore:

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

Nota

In questo messaggio, Nome server rappresenta il nome effettivo del server.

L'errore indica che si è verificato un errore 503 Servizio non disponibile a causa di un archivio cartella pubblica disattivato sul server Nome server.