2012-10-08 27 views
4

我使用EWS的Java API 1.1如下访问Exchange 2010帐户:自动发现服务找不到

ExchangeService service = new ExchangeService(); 
ExchangeCredentials credentials = new WebCredentials(email, 
    password); 
service.setCredentials(credentials); 
service.autodiscoverUrl("[email protected]"); 
Folder inbox = Folder.bind(service, WellKnownFolderName.Inbox); 
System.out.println("messages: " + inbox.getTotalCount()); 

我得到以下异常:

08/10/2012 05:11:35 م org.apache.commons.httpclient.HttpMethodDirector executeWithRetry 
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection timed out: connect 
08/10/2012 05:11:35 م org.apache.commons.httpclient.HttpMethodDirector executeWithRetry 
INFO: Retrying request 
08/10/2012 05:11:56 م org.apache.commons.httpclient.HttpMethodDirector executeWithRetry 
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection timed out: connect 
08/10/2012 05:11:56 م org.apache.commons.httpclient.HttpMethodDirector executeWithRetry 
INFO: Retrying request 
08/10/2012 05:12:17 م org.apache.commons.httpclient.HttpMethodDirector executeWithRetry 
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection timed out: connect 
08/10/2012 05:12:17 م org.apache.commons.httpclient.HttpMethodDirector executeWithRetry 
INFO: Retrying request 
microsoft.exchange.webservices.data.AutodiscoverLocalException: The Autodiscover service couldn't be located. 
    at microsoft.exchange.webservices.data.AutodiscoverService.internalGetLegacyUserSettings(Unknown Source) 
    at microsoft.exchange.webservices.data.AutodiscoverService.getLegacyUserSettings(Unknown Source) 
    at microsoft.exchange.webservices.data.AutodiscoverService.internalGetLegacyUserSettings(Unknown Source) 
    at microsoft.exchange.webservices.data.AutodiscoverService.getUserSettings(Unknown Source) 
    at microsoft.exchange.webservices.data.ExchangeService.getAutodiscoverUrl(Unknown Source) 
    at microsoft.exchange.webservices.data.ExchangeService.autodiscoverUrl(Unknown Source) 
    at microsoft.exchange.webservices.data.ExchangeService.autodiscoverUrl(Unknown Source) 
    at main.java.TestMail.main(TestMail.java:22) 

回答

5

它的工作原理

service.autodiscoverUrl("[email protected]"); 

和人工设置为如下::细去除自动发现后

service.setUrl(new java.net.URI(
        "https://myhostname/EWS/Exchange.asmx"));