You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ff...@apache.org on 2018/10/24 06:41:43 UTC
[cxf] branch master updated: [CXF-7876]give a chance to reconnect
the connection when encountering socket reset for TTL
This is an automated email from the ASF dual-hosted git repository.
ffang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf.git
The following commit(s) were added to refs/heads/master by this push:
new 0cdc4bb [CXF-7876]give a chance to reconnect the connection when encountering socket reset for TTL
0cdc4bb is described below
commit 0cdc4bb5e37fabbf6afeef47ce7c9913f3282103
Author: Freeman Fang <fr...@gmail.com>
AuthorDate: Wed Oct 24 14:41:26 2018 +0800
[CXF-7876]give a chance to reconnect the connection when encountering socket reset for TTL
---
.../org/apache/cxf/transport/http/URLConnectionHTTPConduit.java | 6 +++---
.../org/apache/cxf/transport/https/AllowAllHostnameVerifier.java | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/URLConnectionHTTPConduit.java b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/URLConnectionHTTPConduit.java
index 01abef5..02157b3 100644
--- a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/URLConnectionHTTPConduit.java
+++ b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/URLConnectionHTTPConduit.java
@@ -25,7 +25,6 @@ import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.ProtocolException;
import java.net.Proxy;
-import java.net.SocketException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
@@ -278,8 +277,9 @@ public class URLConnectionHTTPConduit extends HTTPConduit {
Boolean b = (Boolean)outMessage.get(HTTPURL_CONNECTION_METHOD_REFLECTION);
cout = connectAndGetOutputStream(b);
}
- } catch (SocketException e) {
- if ("Socket Closed".equals(e.getMessage())) {
+ } catch (Exception e) {
+ if ("Socket Closed".equals(e.getMessage())
+ || "HostnameVerifier, socket reset for TTL".equals(e.getMessage())) {
connection.connect();
cout = connectAndGetOutputStream((Boolean)outMessage.get(HTTPURL_CONNECTION_METHOD_REFLECTION));
} else {
diff --git a/rt/transports/http/src/main/java/org/apache/cxf/transport/https/AllowAllHostnameVerifier.java b/rt/transports/http/src/main/java/org/apache/cxf/transport/https/AllowAllHostnameVerifier.java
index 189bc38..5fb26ed 100644
--- a/rt/transports/http/src/main/java/org/apache/cxf/transport/https/AllowAllHostnameVerifier.java
+++ b/rt/transports/http/src/main/java/org/apache/cxf/transport/https/AllowAllHostnameVerifier.java
@@ -36,7 +36,7 @@ class AllowAllHostnameVerifier implements javax.net.ssl.HostnameVerifier {
Certificate[] certs = session.getPeerCertificates();
return certs != null && certs[0] instanceof X509Certificate;
} catch (SSLException e) {
- return false;
+ throw new RuntimeException("HostnameVerifier, socket reset for TTL");
}
}