Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Depois de algum tempo sem postar nenhum blog , gostaria de compartilhar um caso simples mas que ao mesmo tempo é extremamente interessante em como um pouco de observação pode nos levar a resolver problemas que aparentemente são difíceis.
Nesse incidente estávamos trabalhando com um problema de OWA. Toda vez que o cliente acessava a caixa postal através do OWA ele recebia uma página de erro com uma longa descrição. Na realidade um exception stack do .NET.
Para economizar tempo e espaço no BLOG vou colocar as linhas mais importantes
Request
Url: https://webmail.exchange.net:443/owa/forms/premium/StartPage.aspx
User host address: 192.168.0.100
User: testeowa
EX Address: /o=Exch2k7/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=testeowa
SMTP Address: testeowa@exchange.net
OWA version: 8.1.278.2
Mailbox server: inter1.exchange.net
Exception
Exception type: Microsoft.Exchange.Data.Storage.CorruptDataException
Exception message: Corrupt restriction filter data.
Call stack
Microsoft.Exchange.Data.Storage.FilterRestrictionConverter.GetPropertyDefinition(MapiProp mapiProp, PropTag propTag)
.
.
Inner Exception
Exception type: Microsoft.Exchange.Data.Storage.InvalidPropertyTypeException
Exception message: Unable to create custom property with property key [{00062002-0000-0000-c000-000000000046}:0x8232] type [Boolean].
Call stack
Microsoft.Exchange.Data.Storage.NativeStorePropertyDefinition.TryFindEquivalentDefinition(Key key, Boolean isCustom, PropType type, TypeCheckingFlag typeCheckingFlag, Boolean& createNewDefinition)
.
.
Microsoft.Exchange.Data.Storage.DefaultFolderManager.VerifyAndFixRemindersSearchFolder(StoreId reminderSearchFolderId)
Microsoft.Exchange.Data.Storage.DefaultFolderManager.GetDefaultFolderId(DefaultFolderType defaultFolderType)
Microsoft.Exchange.Clients.Owa.Core.UserContext.GetDefaultFolderId(DefaultFolderType defaultFolderType, String folderName)
Microsoft.Exchange.Clients.Owa.Core.UserContext.get_RemindersSearchFolderId()
Microsoft.Exchange.Clients.Owa.Premium.StartPage.OnInit(EventArgs e)
System.Web.UI.Control.InitRecursive(Control namingContainer)
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Inner Exception
Exception type: Microsoft.Exchange.Data.Storage.InvalidPropertyTypeException
Exception message: Unable to create custom property with property key [{00062002-0000-0000-c000-000000000046}:0x8232] type [Boolean].
Como podem notar destaquei a parte de Inner Exception e a seguinte parte:
Microsoft.Exchange.Clients.Owa.Core.UserContext.get_RemindersSearchFolderId()
Inner Exception
Exception type: Microsoft.Exchange.Data.Storage.InvalidPropertyTypeException
Exception message: Unable to create custom property with property key [{00062002-0000-0000-c000-000000000046}:0x8232] type [Boolean].
Ao realizarmos uma pesquisa para {00062002-0000-0000-c000-000000000046} , encontramos o seguinte :
"where {00062002-0000-0000-C000-000000000046} is the PSETID_Appointment namespace and 8257000B is the property tag of dispidApptCounterProposal"
Isso nos leva que a mensagem exposta no Inner Exception:
Exception message: Unable to create custom property with property key [{00062002-0000-0000-c000-000000000046}:0x8232] type [Boolean].
É relacionada com calendar itens. Como o comportamento não se faz presente quando utilizamos OWA Light podemos concluir com um nível de segurança que o problema se faz presente ao se processar calendar itens , nesse caso reminders. Para eliminar os reminders e testar acesso , podemos pedir ao usuário para desabilitar os reminders , ou podemos iniciar o Outlook com o switch /cleanreminders
Outlook.exe command line switches
Após realizar esse procedimento , o acesso ao OWA para aquele usuário em particular foi restabelecido.