Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
4.4.13
-
None
-
CXF version 3.4.1
httpcore-nio version 4.4.13
httpasyncclient version 4.1.4
Description
The below exception should be handled by httpcore to keep the i/o reactor going. This issue is partly solved in HTTPCORE-268, but unfortunately the call in line 371 in SSIOSession is not wrapped causing a RuntimeException (thrown by CXF) to reach the IOReactor. The issue occurs if a request is made towards a server having a certificate with non-matching host (for instance https://wrong.host.badssl.com).
org.apache.http.nio.reactor.IOReactorException: I/O dispatch worker terminated abnormally
at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:359) ~[httpcore-nio-4.4.13.jar:4.4.13]
at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:221) ~[httpasyncclient-4.1.4.jar:4.1.4]
at org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64) [httpasyncclient-4.1.4.jar:4.1.4]
at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: java.lang.RuntimeException: HostnameVerifier, socket reset for TTL
at org.apache.cxf.transport.https.httpclient.DefaultHostnameVerifier.verify(DefaultHostnameVerifier.java:98) ~[cxf-rt-transports-http-3.4.1.jar:3.4.1]
at org.apache.cxf.transport.http.asyncclient.AsyncHTTPConduit$AsyncWrappedOutputStream$5.verifySession(AsyncHTTPConduit.java:557) ~[cxf-rt-transports-http-hc-3.4.1.jar:3.4.1]
at org.apache.http.nio.conn.ssl.SSLIOSessionStrategy$1.verify(SSLIOSessionStrategy.java:188) ~[httpasyncclient-4.1.4.jar:4.1.4]
at org.apache.http.nio.reactor.ssl.SSLIOSession.doHandshake(SSLIOSession.java:371) ~[httpcore-nio-4.4.13.jar:4.4.13]
at org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:537) ~[httpcore-nio-4.4.13.jar:4.4.13]
at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:120) ~[httpcore-nio-4.4.13.jar:4.4.13]