Как можно сузить точку сбоя в этой настройке управляемого API от ASP.NET ASMX до Exchange 2010? - PullRequest
1 голос
/ 24 июня 2010

Поскольку работа с Exchange Web Services 2010 немного нелепа, особенно из-за чего-то, кроме .NET, мне было поручено объединить некоторые функции в веб-службу SOAP, которая действует как проход для взаимодействия других языковв нашей среде Exchange.

[Разное] <- (SOAP) -> Веб-служба ASP.NET ASMX <- (EWS Managed API) -> Exchange2010

Чтобы не требовать, чтобы пользователь вводил свой пароль для каждого действия, мы используем учетные записи для олицетворения, поэтому все, что нам нужно, - это имя учетной записи для учетной записи.мы хотим изменить.

Все это работает довольно хорошо. С одной из учетных записей олицетворения. Учетные записи олицетворения имеют отношение 1: 1 с API-ключами для упрощения аудита.Другие настроенные нами учетные записи олицетворения являются точными копиями рабочей учетной записи, за исключением другого имени и пароля, но когда мы пытаемся использовать их из управляемого API EWS, мы получаем эту ошибку:

Запрос не выполнен.Удаленный сервер возвратил ошибку: (401) Unauthorized.

Stack Trace:

at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.InternalExecute()
at Microsoft.Exchange.WebServices.Data.MultiResponseServiceRequest`1.Execute()
at Microsoft.Exchange.WebServices.Data.ExchangeService.BindToFolder(FolderId folderId, PropertySet propertySet)
at Microsoft.Exchange.WebServices.Data.ExchangeService.BindToFolder[TFolder](FolderId folderId, PropertySet propertySet)
at Microsoft.Exchange.WebServices.Data.Folder.Bind(ExchangeService service, FolderId id, PropertySet propertySet)
at Microsoft.Exchange.WebServices.Data.Folder.Bind(ExchangeService service, WellKnownFolderName name)
at WhartonEWS.GetEmailUnreadCount(String apiKey, String emlUserAddress) in c:\workspace\dotnet\EWS\v1\App_Code\EWS.cs:line 357

Как я уже сказал, этот же код прекрасно работает при использовании ключа API, соответствующегоопределенный другой тип подражания;и если я установлю нерабочий ключ API для использования рабочей учетной записи олицетворения, ключ API начнет работать.

Поскольку одна учетная запись работает, а другая - нет, я бы понял, что проблема не вв моем коде веб-службы, а скорее в настройке учетной записи олицетворения или какой-либо конфигурации, которая существует между сетью и серверами Exchange.Но если бы это была конфигурация между серверами, я бы подумал, что это остановит работу всех учетных записей.

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

Куда мы можем пойти отсюда?Я полагаю, что одним из возможных решений было бы направить все запросы через рабочую учетную запись олицетворения и справиться с последствиями аудита, но если мы можем избежать этого, мы бы хотели.Есть идеи?

Ответы [ 2 ]

1 голос
/ 23 сентября 2010

Сам сервер Exchange имеет некоторые настройки ведения журнала диагностики, в частности, для «MSExchange Web Services». Вы можете проверить у администраторов Exchange и посмотреть, готовы ли они включить это, и, возможно, вы можете получить дополнительную помощь из этих журналов.

0 голосов
/ 24 сентября 2010

Как оказалось, проблема заключалась в настройке учетной записи для олицетворения.Хотя я не знаю, как это выяснили администраторы Exchange.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...