Ich habe Probleme, die Apache Httpclient bekommen (4.3) Post-Anforderung mit dem folgenden Code Timeout:Apache Httpclient 4.3 nicht Timeout
RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(4000).setConnectTimeout(4000)
.setSocketTimeout(4000).build();
CloseableHttpClient client = HttpClients.custom().setSslcontext(sslContext)
.setHostnameVerifier(SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER)
.setDefaultRequestConfig(requestConfig).build();
HttpPost post = new HttpPost("https://localhost:" + connection.getLocalPort() + "/API/webservice.asmx");
StringEntity stringE = new StringEntity(REQUEST);
post.setEntity(stringE);
CloseableHttpResponse response = client.execute(post);
Ich erhalte die Verbindung und Anschluss über eine proprietäre API. Wenn alles gut geht funktioniert das aber manchmal (wegen einer schlechten Verbindung glaube ich) der Code bleibt für immer bei client.execute (post) hängen. Gibt es etwas, das ich hier falsch mache, wenn ich das Timeout oder eine andere Methode implementiere, um den Anruf zu unterbrechen, damit ich nicht auf unbestimmte Zeit feststecke?
Als Referenz (es scheint in 4.3.4 behoben sein): https://issues.apache.org/jira/browse/HTTPCLIENT-1478 – Greg
Bitte beachten Sie, dass es tatsächlich in 4.3.4/4.3 behoben scheint. 5 bei der Verbindung über SSL/HTTPS. – centic
Wenn Sie den HTTPCLIENT-1478 vollständig lesen, werden Sie sehen, dass sich mehrere Personen beschweren, dass es nicht wirklich behoben ist. Ich benutze 4.4.1 und ich kann bestätigen, dass dieses Problem immer noch auftritt. – GaspardP