我使用EWS Java API 1.1访问Exchange 2010帐户,如下所示:
ExchangeService service = new ExchangeService();
ExchangeCredentials credentials = new WebCredentials(email,
password);
service.setCredentials(credentials);
service.autodiscoverUrl("adamb@fabrikam.com");
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)
答案 0 :(得分:5)
删除自动发现后,它可以正常工作:
service.autodiscoverUrl("adamb@fabrikam.com");
并按如下方式手动设置:
service.setUrl(new java.net.URI(
"https://myhostname/EWS/Exchange.asmx"));