#exchange-server #exchangewebservices #exchange-server-2010
#exchange-сервер #exchangewebservices #exchange-server-2010
Вопрос:
у a было успешное соединение с ExchangeVersion.Exchange2007_SP1, когда я изменил его на 2010 или последнюю версию, я получаю исключение в этой строке:
Обслуживание.AutodiscoverUrl (MailboxToAccess, RedirectionUrlValidationCallback); -> System.NullReferenceException: ‘Ссылка на объект не установлена для экземпляра объекта.’ Я пробовал с пакетами: Exchange.Веб-сервисы.Управляемый.Api v2.2.1.2 и Microsoft.Обмен.WebServices v2.2.0
static void Main(string[] args)
{
String MailboxToAccess = "username@domain";
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010);
SearchFilter sfSearchFilter = new SearchFilter.IsEqualTo(EmailMessageSchema.IsRead, false);
service.Credentials = new WebCredential("username@domain", "password");
service.AutodiscoverUrl(MailboxToAccess, RedirectionUrlValidationCallback);
SetStreamingNotifications(service);
}
private static bool RedirectionUrlValidationCallback(string redirectionUrl)
{
bool result = false;
Uri redirectionUri = new Uri(redirectionUrl);
if (redirectionUri.Scheme == "https")
{
result = true;
}
return resu<
}
Ответ №1:
Я установил URL-адрес службы Exchange вручную, используя
/ Create the binding.
ExchangeService service = new ExchangeService();
// Set the credentials for the on-premises server.
service.Credentials = new WebCredentials("user1@contoso.com", "password");
// Set the URL.
service.Url = new Uri("https://computername.domain.contoso.com/EWS/Exchange.asmx");
Я до сих пор не понимаю, почему это не сработало для меня с
service.AutodiscoverUrl("User1@contoso.com");