org.apache.http.NoHttpResponseException: www.abc.com:port failed to respond
這周在作一個功能,在調用外部接口的時候,莫名其妙的報這個錯誤。使用的類是很常見的HttpClient。網上看了其餘文章,都是說什麼設置「keepAlive」屬性,試過了,沒用;後面又懷疑服務方(www.abc.com),又證明服務方是ok的。以後又猜想是否是HttpClient的問題,就使用okHttp來調接口,使用okHttp確實是沒 fail to resond的異常了,不過,有了新的異常 connect timed outjava
java.net.SocketTimeoutException: connect timed out at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at okhttp3.internal.Platform.connectSocket(Platform.java:126) at okhttp3.internal.io.RealConnection.connectSocket(RealConnection.java:140) at okhttp3.internal.io.RealConnection.connect(RealConnection.java:111) at okhttp3.internal.http.StreamAllocation.findConnection(StreamAllocation.java:188) at okhttp3.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:127) at okhttp3.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
最後仍是經驗老到的一個同事指出了錯誤:端口錯了!網站www.abc.com提供了多個端口,寫和讀不是同一個端口,這個功能已經上線了,然而,我在上面開發新功能的時候才發現是有問題的,也就是以前那哥們根本就盲寫代碼!而且上線了!尼瑪,也是無語了!apache