Ошибка веб-служб Exchange - не удалось найти службу автообнаружения - PullRequest
0 голосов
/ 30 мая 2019

Я использую веб-службы Exchange (EWS) для создания приглашения на собрание Outlook в визуальной веб-части SharePoint. Ниже приведен фрагмент кода для получения экземпляра EWS.

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013);
service.UseDefaultCredentials = true;
service.AutodiscoverUrl("firstName.Lastname@xxxxxxxx.com", RedirectionUrlValidationCallback);

Когда я использую его в тестовом консольном приложении, оно работает правильно. Но если я использую его в визуальной веб-части на том же сервере с той же учетной записью пользователя, то выдает следующую ошибку.

Microsoft.Exchange.WebServices.Data.AutodiscoverLocalException: не удалось найти службу автообнаружения. в Microsoft.Exchange.WebServices.Autodiscover.AutodiscoverService.InternalGetLegacyUserSettings [TSettings] (String emailAddress, List`1 redirectionEmailAddresses, Int32 & currentHop) в Microsoft.Exchange.WebServices.Autodiscover.AutodiscoverService.GetLegacyUserSettings [TSettings] (String emailAddress) в Microsoft.Exchange.WebServices.Autodiscover.AutodiscoverService.InternalGetLegacyUserSettings (String emailAddress, List`1 требуемых настроек) в Microsoft.Exchange.WebServices.Autodiscover.AutodiscoverService.GetUserSettings (String userSmtpAddress, UserSettingName [] userSettingNames) в Microsoft.Exchange.WebServices.Data.ExchangeService.GetAutodiscoverUrl (String emailAddress, ExchangeVersion requiredServerVersion, AutodiscoverRedirectionUrlValidationCallback validateRedirectionUrlCallback) в Microsoft.Exchange.WebServices.Data.ExchangeService.AutodiscoverUrl (String emailAddress, AutodiscoverRedirectionUrlValidationCallback validateRedirectionUrlCallback)

1 Ответ

0 голосов
/ 30 мая 2019

Не очень хорошо знаком с Visual Web Part, поэтому я не совсем точно знаю, в каком пользовательском контексте вы там работаете.В качестве эксперимента вы можете указать действительные учетные данные в программе выше (а не UseDefaultCredentials) и посмотреть, успешно ли она работает?Если это так, то вам нужно либо указать кредиты в вашем коде, либо найти способ изменить пользовательский контекст визуальной веб-части.

Если этот не работает, то вы можетедолжны включить трассировку на объекте ExchangeService и посмотреть, что происходит под прикрытием.По моему опыту, отчеты об ошибках AD очень ограничены, пока вы не увидите, что возвращается на уровне HTTP.

...