[ https://issues.apache.org/jira/browse/HTTPCLIENT-1485?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13937943#comment-13937943 ]
Oleg Kalnichevski commented on HTTPCLIENT-1485: ----------------------------------------------- This issue is almost certainly platform / JRE dependent and is likely to affect older JREs only. In my opinion it is simply not worth the trouble. Oleg > Wrong type of exception raised because of hardcoded string-compare > ------------------------------------------------------------------ > > Key: HTTPCLIENT-1485 > URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1485 > Project: HttpComponents HttpClient > Issue Type: Bug > Components: HttpClient > Affects Versions: 4.3.2, 4.3.3 > Reporter: Dominik Bennersdorfer > > In the lines > org.apache.http.impl.conn.HttpClientConnectionOperator.java:134-143 we found > that the message of the ConnectException is compared to the hardcoded string > "Connection timed out". > This can causes wrong break down to the http-client own Exception-types on > Systems with other languages. > } catch (final ConnectException ex) { > if (last) { > final String msg = ex.getMessage(); > if ("Connection timed out".equals(msg)) { > throw new ConnectTimeoutException(ex, host, addresses); > } else { > throw new HttpHostConnectException(ex, host, addresses); > } > } > } > To illustrate the Problem see the following Example: > On our server the locale is set to "de_AT.ISO-8859-15@euro" > with a simple wget i get this (see the message in last line) > root@MRW-MJA-vml1:/tmp# wget http://www.google.at:81 > --2014-03-14 12:46:44-- http://www.google.at:81/ > Auflösen des Hostnamen www.google.at... 173.194.39.183 > Verbindungsaufbau zu www.google.at|173.194.39.183|:81... fehlgeschlagen: Die > Wartezeit für die Verbindung ist abgelaufen. > after changing the locale to "en_US.ISO-8859-15" i get the following: > root@MRW-MJA-vml1:/tmp# wget http://www.google.at:81 > --2014-03-14 12:43:33-- http://www.google.at:81/ > Resolving www.google.at... 173.194.32.223 > Connecting to www.google.at|173.194.32.223|:81... failed: Connection timed > out. > Example with httpclient 4.3.3 (parts from our tracing): > Exception<org.apache.http.conn.HttpHostConnectException> Message<Connect to > **** failed: Die Wartezeit für die Verbindung ist abgelaufen> > Cause<java.net.ConnectException: Die Wartezeit für die Verbindung ist > abgelaufen> > at > org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:138) > at > org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:314) > at > org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:357) > at > org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:218) > at > org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:194) > at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:85) > at > org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) > at > org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:186) > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106) > > We excpected to get a ConnectTimeoutException rather than a > HttpHostConnectException -- This message was sent by Atlassian JIRA (v6.2#6252) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org For additional commands, e-mail: dev-h...@hc.apache.org