2013-04-17 78 views
0

我目前正尝试使用EWS Java API连接到我们公司的Exchange服务器。 不幸的是,当尝试执行任何东西(无论是自动发现或手动使用setUrl后,一些其他的动作)我收到以下错误:EWS Java 1.2 - 无法连接到公司Exchange服务器

Apr 17, 2013 7:57:10 AM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry 
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection refused: connect 
Apr 17, 2013 7:57:10 AM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry 
INFO: Retrying request 
Apr 17, 2013 7:57:11 AM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry 
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection refused: connect 
Apr 17, 2013 7:57:11 AM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry 
INFO: Retrying request 
Apr 17, 2013 7:57:12 AM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry 
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection refused: connect 
Apr 17, 2013 7:57:12 AM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry 
INFO: Retrying request 
Exception in thread "main" microsoft.exchange.webservices.data.ServiceRequestException: The request failed. Connection refused: connect 
    at microsoft.exchange.webservices.data.ServiceRequestBase.getEwsHttpWebResponse(Unknown Source) 
    at microsoft.exchange.webservices.data.ServiceRequestBase.validateAndEmitRequest(Unknown Source) 
    at microsoft.exchange.webservices.data.SimpleServiceRequestBase.internalExecute(Unknown Source) 
    at microsoft.exchange.webservices.data.MultiResponseServiceRequest.execute(Unknown Source) 
    at microsoft.exchange.webservices.data.ExchangeService.bindToFolder(Unknown Source) 
    at microsoft.exchange.webservices.data.ExchangeService.bindToFolder(Unknown Source) 
    at microsoft.exchange.webservices.data.CalendarFolder.bind(Unknown Source) 
    at microsoft.exchange.webservices.data.CalendarFolder.bind(Unknown Source) 
    at er.dream.tgif.outlook.OutlookTest.findAppointments(OutlookTest.java:59) 
    at er.dream.tgif.outlook.OutlookTest.main(OutlookTest.java:45) 
Caused by: java.net.ConnectException: Connection refused: connect 
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) 
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75) 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) 
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391) 
    at java.net.Socket.connect(Socket.java:579) 
    at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618) 
    at microsoft.exchange.webservices.data.EwsSSLProtocolSocketFactory.createSocket(Unknown Source) 
    at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707) 
    at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361) 
    at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387) 
    at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) 
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) 
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323) 
    at microsoft.exchange.webservices.data.HttpClientWebRequest.executeRequest(Unknown Source) 
    ... 10 more 

我试图用我的凭据到Exchange服务器的Web界面登录,这是工作的罚款。假设它可能与SSL问题有关,我也尝试实施虚拟TrustManager并将其设置为默认值HttpsUrlConnections

不幸的是,这并没有帮助,错误仍然存​​在。

一个值得注意的事实:在我的Outlook中,我可以看到Exchange服务器配置为使用代理服务器和特定的SSL URL来连接它。 (代理身份验证设置为NTLM) 我不太清楚如何在编码中反映这一点。

可能这是导致异常还是我在这里看到一个不同的问题?

回答

0

的Java EWS API的版本注释中提到:

While running on Windows 7 OS, 32-bit, and if the application generates the following error : ERROR : Request failed. Unable to get response codejava.io.IOException: Authentication failure

因此,如果您遇到这种情况,请参阅随EWS的Java API的发行说明(和/或gooole这个确切的句子找他们回来) 。

请务必使用正确的Web服务端点和端口,因为看起来您使用的套接字已关闭(连接被拒绝)。这应该是这样的:

"https://YOURDOMAIN.com/EWS/Exchange.asmx" 

this other StackOverflow question mentionned的代码为我工作(Exchange 2010的+ NTLM认证方案)。