2017-02-14 30 views
1

Я пытаюсь подключиться к веб-сервиса из приложения, и я получаю следующее исключение:Получение java.net.SocketTimeoutException: подключитесь таймаут ошибку

org.apache.axis2.AxisFault: The host did not accept the connection within timeout of 30000 ms 
       at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) 
       at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:197) 
       at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75) 
       at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:404) 
       at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:231) 
       at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443) 
       at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406) 
       at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) 
       at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) 

Caused by: org.apache.commons.httpclient.ConnectTimeoutException: The host did not accept the connection within timeout of 30000 ms 
       at org.apache.commons.httpclient.protocol.ReflectionSocketFactory.createSocket(ReflectionSocketFactory.java:155) 
       at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(SSLProtocolSocketFactory.java:130) 
       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.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:621) 
       at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:193) 
       ... 27 more 
Caused by: java.net.SocketTimeoutException: connect timed out 
       at java.net.PlainSocketImpl.socketConnect(Native Method) 
       at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) 
       at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) 
       at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) 
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:367) 
       at java.net.Socket.connect(Socket.java:524) 
       at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:545) 
       at sun.reflect.GeneratedMethodAccessor197.invoke(Unknown Source) 
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
       at java.lang.reflect.Method.invoke(Method.java:592) 
       at org.apache.commons.httpclient.protocol.ReflectionSocketFactory.createSocket(ReflectionSocketFactory.java:140) 
       ... 35 more 

Я не перезаписывать таймаут в моем приложении. Может ли кто-нибудь рассказать мне, через какое свойство этот тайм-аут настроен? И в каком месте его настроить? Я думал, что он сконфигурирован в axis2.xml Но я могу ошибаться

+0

Это может показаться очевидным, но веб-сервер вы пытаетесь подключиться, на самом деле в наличии? Вы не делали опечатки в URL-адресе? Вы использовали правильный порт? Потому что, по крайней мере, для меня самой распространенной проблемой тайм-аута подключения всегда является один из них ^^ –

+1

@Florian Schöffl. Мой вопрос был другим и простым. Если вы видите stacktrace, в его текущем тайм-ауте установлено значение «30000». Я просто хочу знать, в каком месте его сконфигурировано – Rehman

+0

Ах, черт возьми, я совершенно неправильно понял это. Да, вы ищете параметр CONNECTION_TIMEOUT, который действительно находится внутри оси2.xml. –

ответ

1

Я не совсем уверен, что вы обещаете, но значение по умолчанию 30 секунд устанавливается в исходном коде оси2.

Чтобы быть точно в org.apache.axis2.client.Options на линии 118 (axis2 версия 1.7.4):

public static final int DEFAULT_TIMEOUT_MILLISECONDS = 30 * 1000; 

Это значение по умолчанию будет использоваться, если timout не установлен вручную и имеет значение по умолчанию -1 (строка 504, например).

return timeOutInMilliSeconds == -1 ? DEFAULT_TIMEOUT_MILLISECONDS 
      : timeOutInMilliSeconds; 

Если вы хотите переписать тайм-аут, я отсылаю вас к axis documentation

+1

Спасибо, Бадди .. То, что я хотел знать – Rehman

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

  • Нет связанных вопросов^_^