none
Исключение в OnComplete при любом действии RRS feed

  • Вопрос

  • Добрый день.

    Появилась такая проблема. При практически любом действии по изменению данных exchange возникает такая ошибка невнятного содержания. Т.е, например, при создании ящика нового пользователя, изменении разрешений на полный доступ, выполнении new-mailboxexportrequest, пересинхронизации базы и т.п.

    При этом само действие выполняется, но в консоли возникает ошибка. В логах системы все чисто.

    Что делал в последнее время: создал сайт в AD, развернул дополнительные 2 сервера exchange 2010 - один в основном сайте, другой - в новом. До этого было 6 серверов exchange standard (5 баз) в домене. Также поставил очередное обновление сервиспака. Все, больше изменений конфигурации exchange не было. Может быть, проблема с превышением лимита в 5 баз для версии standard, или не похоже?

    Вот текст ошибки:

    ПРЕДУПРЕЖДЕНИЕ: Агент расширения командлета с индексом 0 создал исключение в OnComplete(). Исключение:
    System.Net.WebException: Удаленный сервер возвратил ошибку: (403) Запрещено.
       в System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
       в System.Net.HttpWebRequest.GetRequestStream()
       в System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
       в Microsoft.Exchange.SoapWebClient.CustomSoapHttpClientProtocol.<>c__DisplayClass4.<Invoke>b__3()
       в
    Microsoft.Exchange.SoapWebClient.HttpAuthenticator.NetworkServiceHttpAuthenticator.AuthenticateAndExecute[T](SoapHttpCl
    ientProtocol client, AuthenticateAndExecuteHandler`1 handler)
       в Microsoft.Exchange.SoapWebClient.SoapHttpClientAuthenticator.AuthenticateAndExecute[T](SoapHttpClientProtocol
    client, AuthenticateAndExecuteHandler`1 handler)
       в Microsoft.Exchange.SoapWebClient.EWS.ExchangeServiceBinding.FindFolder(FindFolderType FindFolder1)
       в Microsoft.Exchange.ProvisioningAgent.MailboxLoggerFactory.EwsMailer.GetAdminAuditLogsFolder(ADUser adUser)
       в Microsoft.Exchange.ProvisioningAgent.MailboxLoggerFactory.EwsMailer..ctor(OrganizationId organizationId, ADUser
    adUser, ExchangePrincipal principal)
       в Microsoft.Exchange.ProvisioningAgent.MailboxLoggerFactory.Create(OrganizationId organizationId, ADUser mailbox,
    ExchangePrincipal principal)
       в Microsoft.Exchange.ProvisioningAgent.AdminLogAgentClassFactory.ConfigWrapper.get_MailboxLogger()
       в Microsoft.Exchange.ProvisioningAgent.AdminLogProvisioningHandler.OnComplete(Boolean succeeded, Exception e)
       в Microsoft.Exchange.Provisioning.ProvisioningLayer.OnComplete(Task task, Boolean succeeded, Exception exception)

    15 марта 2013 г. 7:06

Ответы

  • В общем, подумал, снес с EX5 роли сервера CAS и транспорт, и ошибка пропала.
    В ближайшее время буду возвращать роли обратно и смотреть, что к чему.
    • Помечено в качестве ответа iltmpz1 22 марта 2013 г. 12:23
    22 марта 2013 г. 12:23

Все ответы

  • Появилась такая проблема. При практически любом действии по изменению данных exchange возникает такая ошибка невнятного содержания. Может быть, проблема с превышением лимита в 5 баз для версии standard, или не похоже?

    явно проблема не в этом.

    копайте в сторону

    System.Net.WebException: 403
    15 марта 2013 г. 7:57
  • Проблема явно с EWS.

    Предоставьте вывод команды Get-WebServicesVirtualDirectory | fl Identity,*auth*

    15 марта 2013 г. 8:11
  • Проблема явно с EWS.

    Предоставьте вывод команды Get-WebServicesVirtualDirectory | fl Identity,*auth*

    Вот что выдает:

    Identity                      : EXCHTR1\EWS (Default Web Site)
    CertificateAuthentication     :
    InternalAuthenticationMethods : {Ntlm, WindowsIntegrated, WSSecurity}
    ExternalAuthenticationMethods : {Ntlm, WindowsIntegrated, WSSecurity}
    LiveIdSpNegoAuthentication    : False
    WSSecurityAuthentication      : True
    LiveIdBasicAuthentication     : False
    BasicAuthentication           : False
    DigestAuthentication          : False
    WindowsAuthentication         : True
    
    Identity                      : EX2\EWS (Default Web Site)
    CertificateAuthentication     :
    InternalAuthenticationMethods : {Ntlm, WindowsIntegrated, WSSecurity}
    ExternalAuthenticationMethods : {Ntlm, WindowsIntegrated, WSSecurity}
    LiveIdSpNegoAuthentication    : False
    WSSecurityAuthentication      : True
    LiveIdBasicAuthentication     : False
    BasicAuthentication           : False
    DigestAuthentication          : False
    WindowsAuthentication         : True
    
    Identity                      : EX5\EWS (Default Web Site)
    CertificateAuthentication     :
    InternalAuthenticationMethods : {Ntlm, WindowsIntegrated, WSSecurity}
    ExternalAuthenticationMethods : {Ntlm, WindowsIntegrated, WSSecurity}
    LiveIdSpNegoAuthentication    : False
    WSSecurityAuthentication      : True
    LiveIdBasicAuthentication     : False
    BasicAuthentication           : False
    DigestAuthentication          : False
    WindowsAuthentication         : True

    Тот новый который поставил это EX5.

    Смотрел-смотрел вывод Get-WebServicesVirtualDirectory, в том числе с select * - ничего криминального не увидел, что это вообще может быть?..

    А может быть дело в сертификате? На остальные сервера я сертификаты ставил, а на новый - надо попробовать...


    15 марта 2013 г. 12:03
  • А вывод

    Test-WebServicesConnectivity -ClientAccessServer EX2 -MailboxCredential (Get-Credential domain\username) |fl

    Test-WebServicesConnectivity -ClientAccessServer EX5 -MailboxCredential (Get-Credential domain\username) |fl

    поправил, лучше указать CAS
    15 марта 2013 г. 12:11
  • А вывод

    Test-WebServicesConnectivity -MailboxCredential (Get-Credential domain\username) |fl

    Во, что-то выдает. Про старые сервера 6 успешных проверок, а про новый - сразу ошибку:

    Test-WebServicesConnectivity -MailboxCredential (Get-Credential domain\username) -ClientAccessServer ex5 | fl
    
    
    RunspaceId                  : b03f3072-0c41-47af-9174-a6ac40ceaf8b
    LocalSite                   : Default-First-Site-Name
    SecureAccess                : True
    VirtualDirectoryName        :
    Url                         :
    UrlType                     : Unknown
    Port                        : 0
    ConnectionType              : Plaintext
    ClientAccessServerShortName : ex5
    LocalSiteShortName          : Default-First-Site-Name
    ClientAccessServer          : ex5.domain.local
    Scenario                    : GetFolder
    ScenarioDescription         : Для извлечения папки используйте вызов GetFolder веб-служб Exchange.
    PerformanceCounterName      : CreateItem Latency
    Result                      : Ошибка
    Error                       : [System.Net.WebException]: Удаленный сервер возвратил ошибку: (403) Запрещено.
    UserName                    : username
    StartTime                   : 15.03.2013 16:16:02
    Latency                     : -00:00:01
    EventType                   : Error
    LatencyInMillisecondsString :
    Identity                    :
    IsValid                     : True

    Только я пока все равно не очень понимаю смысл этой ошибки...

    15 марта 2013 г. 12:21
  • А вывод

    Test-WebServicesConnectivity -MailboxCredential (Get-Credential domain\username) |fl

    Во, что-то выдает. Про старые сервера 6 успешных проверок, а про новый - сразу ошибку:

    Только я пока все равно не очень понимаю смысл этой ошибки...

    Некорректно сконфигурирован EWS на данном сервере. Попробуйте перенастроить.

    Set-WebServicesVirtualDirectory -Identity "EX5\EWS (Default Web Site)" -InternalUrl https://mail.domain.com/ews/exchange.asmx -ExternalURL https://externalmail.domain.com/ews/exchange.asmx

    Сертификат естественно должен быть установлен


    15 марта 2013 г. 12:43
  • Добрый день. А вообще EMS на EX5 запускается без ошибок?

    Blog - Smtp25.ru

    15 марта 2013 г. 14:37
    Отвечающий
  • Прошу прощения за задержку с ответом - разбирался с установкой сертификата.

    Сейчас сертификат поставил, теперь вместо 403-й ошибки получаю таймаут:

    Result                      : Ошибка
    Error                       : [System.Net.WebException]: Время ожидания операции истекло

    Ну и ошибка выдается не сразу, а сначала процесс долго висит и ждет.

    Кроме удаления всех неудачно установленных сертификатов и установки одного нового, больше ничего с конфигурацией Exchange не делал.

    EMS вроде без ошибок запускается, в событиях windows во всяком случае ничего подозрительного не вижу.

    Get-WebServicesVirtualDirectory -Identity "EX5\EWS (Default Web Site)" выдает тот же InternalUrl, а ExternalURL пустой, на всех серверах.

    Что еще можно проверить?

    21 марта 2013 г. 11:27
  • В общем, подумал, снес с EX5 роли сервера CAS и транспорт, и ошибка пропала.
    В ближайшее время буду возвращать роли обратно и смотреть, что к чему.
    • Помечено в качестве ответа iltmpz1 22 марта 2013 г. 12:23
    22 марта 2013 г. 12:23