2012-10-23 57 views
3

我在C#中使用Exchange託管API訪問Exchange 2010.我遇到了使用Autodiscoverurl函數的問題。我已經嘗試了許多具有各種不同的錯誤不同的方法:Exchange託管API的自動發現問題

代碼:

var service = new ExchangeService(ExchangeVersion.Exchange2010); 
service.Autodiscoverurl("[email protected]", delegate { return true; }); 

錯誤:

The Autodiscover service couldn't be located.

代碼:

var service = new ExchangeService(ExchangeVersion.Exchange2010); 
service.Autodiscoverurl("[email protected]"); 

錯誤:

Autodiscover blocked a potentially insecure redirection to https:// servername /autodiscover/autodiscover.xml. To allow Autodiscover to follow the redirection, use the AutodiscoverUlr(string, AutodiscoverRedirectionUrlValidationCallback) overload.

代碼:

var service = new ExchangeService(ExchangeVersion.Exchange2010); 
service.Url = new Uri("https://servername/EWS/Exchange.asmx"); 

錯誤:

The request failed. The remote server returned an error: (401) Unauthorized.

我曾嘗試提供憑據的各種方式,所有與上面相同的結果。

service.UseDefaultCredentials = true; 
service.Credentials = CredentialCache.DefaultNetworkCredentials; 
etc. 

任何想法?

+0

你有沒有設法找到這個解決方案? –

+0

不幸的是沒有。我通過嘗試使用自動發現來解決它,然後如果失敗,則會回退到設置的URL。 –

+1

按照StackOverflow的慣例,您可以用適合您的解決方案回答您自己的問題!我相信它會幫助一些未來的遊客。 :) –

回答

1

據我所知,autodiscover xml需要憑證,如果Basic不起作用,NTLM通常更可靠。