2017-02-14 3 views
1

ich zu einem Webservice aus meiner Anwendung zu verbinden versuchen, und ich erhalte folgende Ausnahme:Erste java.net.SocketTimeoutException: connect timed out Fehler

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 

Ich bin nicht Timeout-Zeit in meiner Anwendung zu überschreiben. Kann mir bitte jemand sagen, durch welche Eigenschaft dieses Timeout konfiguriert ist und an welcher Stelle es konfiguriert ist? Ich dachte, es ist in axis2.xml konfiguriert Aber ich könnte falsch sein

+0

beziehen Dies mag offensichtlich klingen, aber nicht der Webserver Sie eine Verbindung aufbauen möchten, ist tatsächlich zur Verfügung? Sie haben in der URL keinen Tippfehler gemacht? Hast du den richtigen Port benutzt? Denn zumindest bei mir ist das häufigste Problem eines Verbindungstimeouts immer einer dieser ^^ –

+1

@Florian Schöffl Meine Frage war anders und einfach. Wenn Sie den StackTrace sehen, wurde der aktuelle Timeout-Wert auf "30000" gesetzt. Ich will nur wissen, an welchem ​​Ort seine konfigurierte – Rehman

+0

Ah verdammt, ich habe das total falsch gelesen. Ja, Sie suchen nach dem CONNECTION_TIMEOUT-Parameter, der sich tatsächlich in der axis2.xml befindet. –

Antwort

1

Ich bin nicht wirklich sicher, was Sie versprechen, aber die Standard-Timeout von 30 Sekunden ist im Quellcode von axis2 festgelegt.

Um genau in org.apache.axis2.client.Options seine auf der Leitung 118 (axis2 Version 1.7.4):

public static final int DEFAULT_TIMEOUT_MILLISECONDS = 30 * 1000; 

Dieser Standardwert wird verwendet, wenn die timout nicht manuell eingestellt und hat den Standardwert -1 (Zeile 504 zB).

return timeOutInMilliSeconds == -1 ? DEFAULT_TIMEOUT_MILLISECONDS 
      : timeOutInMilliSeconds; 

Wenn Sie das Timeout zu überschreiben möchte ich Ihnen die axis documentation

+1

Dank Buddy .. Das ist, was ich wissen wollte – Rehman

Verwandte Themen