Exchange Web服务错误-无法找到自动发现服务

时间:2019-05-30 11:01:43

标签: sharepoint exchangewebservices web-parts

我正在使用Exchange Web服务(EWS)在SharePoint Visual Web Part中创建Outlook会议邀请。以下是获取EWS实例的代码段。

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

当我在测试控制台应用程序中使用它时,它可以正常工作。但是,如果我在具有相同用户帐户的同一服务器上的Visual Web Part中使用它,则会出现以下错误。

  

Microsoft.Exchange.WebServices.Data.AutodiscoverLocalException:找不到自动发现服务。      在Microsoft.Exchange.WebServices.Autodiscover.AutodiscoverService.InternalGetLegacyUserSettings [TSettings](字符串emailAddress,列表1重定向EmailAddresses,Int32&currentHop)      在Microsoft.Exchange.WebServices.Autodiscover.AutodiscoverService.GetLegacyUserSettings [TSettings](字符串emailAddress)      在Microsoft.Exchange.WebServices.Autodiscover.AutodiscoverService.InternalGetLegacyUserSettings(字符串emailAddress,列出1个要求的设置)      在Microsoft.Exchange.WebServices.Autodiscover.AutodiscoverService.GetUserSettings(字符串userSmtpAddress,UserSettingName [] userSettingNames)      在Microsoft.Exchange.WebServices.Data.ExchangeService.GetAutodiscoverUrl(字符串emailAddress,ExchangeVersion请求的ServerVersion,AutodiscoverRedirectionUrlValidationCallback validateRedirectionUrlCallback)      在Microsoft.Exchange.WebServices.Data.ExchangeService.AutodiscoverUrl(字符串emailAddress,AutodiscoverRedirectionUrlValidationCallback validateRedirectionUrlCallback)

1 个答案:

答案 0 :(得分:0)

对Visual Web Part不太熟悉,所以我不确定在其中运行的用户上下文是什么。作为实验,您可以在上面的程序中(而不是UseDefaultCredentials)指定实际的凭据,看看它是否成功运行?如果是这样,那么您要么需要在代码中指定凭据,要么找到一种方法来更改Visual Web Part的用户上下文。

如果无效,那么您可能必须在ExchangeService对象上启用跟踪并查看幕后情况。我的经验是,AD错误报告非常有限,直到您看到HTTP层返回的内容为止。