EWS无法找到自动发现服务
本文关键字:发现 服务 EWS | 更新日期: 2023-09-27 18:01:47
我使用c# EWS (ExchangeWebServices)。
我有ExchangeServer,即以下IP: 10.81.5.1。
现在,我正试图访问ExchangeServer,如下所示:
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);
service.Credentials = new WebCredentials("myuser", "mypassword", "10.81.5.1");
service.TraceEnabled = true;
service.TraceFlags = TraceFlags.All;
service.AutodiscoverUrl("myuser@mydomain.local", RedirectionUrlValidationCallback);//Throw an exception
我得到了以下异常:
无法找到自动发现服务。
我如何知道我的ExchangeServer域?
当我更改以下(并在ExchangeServer机器中运行代码)
service.Credentials = new WebCredentials("myuser", "mypassword");
意思是域是本地主机,我成功地运行我的代码,没有例外。
我的代码有什么错误?
我需要写的,而不是"10.81.5.1",如果我没有在ExchangeServer机器内运行代码?我如何知道我的ExchangeServer"域"?
谢谢。
我的问题的原因是交换服务器和我的开发机器不在同一个域中。
通过删除以下行解决:
service.AutodiscoverUrl("myuser@mydomain.local", RedirectionUrlValidationCallback);//Throw an exception
并添加.asmx EWS的uri:
service.Url = new Uri("https://IP/EWS/Exchange.asmx");
以下3行对我有用:
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.Credentials = new WebCredentials("<loginID..not email address>", "< the pw>");
service.AutodiscoverUrl("<your emailaddress>",RedirectionUrlValidationCallback);
如果登录id为abc123。这就够了。我需要指定域
在我的机器(win7)上,我可以在这里找到它:控制面板-系统-计算机名称,域和工作组设置。也许你可以试一试。