EWS无法找到自动发现服务

时间:2016-08-11 07:18:40

标签: c# exchange-server exchangewebservices

我正在使用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");

意味着域是localhost我成功运行我的代码无例外。

我的代码有什么错误?

如果我没有在ExchangeServer机器内运行代码,我需要写“10.81.5.1”?我怎么知道我的ExchangeServer“域名”?

感谢。

3 个答案:

答案 0 :(得分:5)

我的问题的原因是交换服务器和我的开发机器不在同一个域中 通过删除以下行解决:

 service.AutodiscoverUrl("myuser@mydomain.local", RedirectionUrlValidationCallback);//Throw an exception

添加.asmx EWS的uri:

service.Url = new Uri("https://IP/EWS/Exchange.asmx");

答案 1 :(得分:2)

以下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。那太好了。我需要指定域

答案 2 :(得分:0)

在我的机器(win7)上,我可以在这里找到它:控制面板 - 系统 - 计算机名称,域和工作组设置。也许你可以尝试一下。