2013-04-17 3 views
0

В настоящее время я пытаюсь подключиться к серверу Exchange нашей компании, используя API-интерфейс EWS Java. К сожалению, при попытке выполнить что-либо (либо автообнаружения или другое действие после того, как с помощью setUrl вручную) я получаю следующее сообщение об ошибке:EWS Java 1.2 - Не удается подключиться к компании Exchange Server

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 

Я попытался войти при помощи своих учетных данных в веб-интерфейс обмена серверов, и это работает отлично , Предполагая, что это может быть связано с проблемами SSL, я также попытался внедрить фиктивный TrustManager и установить его по умолчанию для HttpsUrlConnections.

К сожалению, это не помогло, и ошибка по-прежнему сохраняется.

Один заметный факт. В моем Outlook я вижу, что сервер Exchange настроен на использование прокси-сервера и определенного URL-адреса SSL для подключения к нему. (Аутентификация прокси установлена ​​на 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 это точное предложение, чтобы найти их обратно) ,

Обязательно используйте правильную конечную точку и порт веб-службы, потому что кажется, что сокет, который вы используете, закрыт (соединение отклонено). Это должно быть так:

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

Код в this other StackOverflow question упоминалось работал для меня (Exchange 2010 + NTLM схема аутентификации).

Смежные вопросы