This is an automated email from the ASF dual-hosted git repository.

dkulp pushed a commit to branch 3.6.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit eba0b1be2f33b250956beab6bd4a371f6c55fb05
Author: Daniel Kulp <[email protected]>
AuthorDate: Tue Apr 25 18:09:59 2023 -0400

    Fix tests with Java11
---
 .../cxf/transport/http/HttpClientHTTPConduit.java   | 21 +++++++++++++++------
 .../cxf/systest/ws/addr_wsdl/WSAPureWsdlTest.java   |  3 +--
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git 
a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HttpClientHTTPConduit.java
 
b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HttpClientHTTPConduit.java
index e228893a9b..01fd631afc 100644
--- 
a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HttpClientHTTPConduit.java
+++ 
b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HttpClientHTTPConduit.java
@@ -71,6 +71,7 @@ import org.apache.cxf.Bus;
 import org.apache.cxf.common.util.PropertyUtils;
 import org.apache.cxf.configuration.jsse.TLSClientParameters;
 import org.apache.cxf.helpers.HttpHeaderHelper;
+import org.apache.cxf.helpers.JavaUtils;
 import org.apache.cxf.io.CacheAndWriteOutputStream;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.message.MessageUtils;
@@ -115,6 +116,9 @@ public class HttpClientHTTPConduit extends 
URLConnectionHTTPConduit {
             clientParameters = new TLSClientParameters();
         }
         Object o = 
message.getContextualProperty("force.urlconnection.http.conduit");
+        if (o == null) {
+            o = message.get("USING_URLCONNECTION");
+        }
         //o = true;
         if ("https".equals(uri.getScheme()) && clientParameters != null) {
             if (clientParameters.getSSLSocketFactory() != null) {
@@ -123,13 +127,18 @@ public class HttpClientHTTPConduit extends 
URLConnectionHTTPConduit {
                 //the SSLSocketFactory.
                 o = Boolean.TRUE;
             }
-            if (clientParameters.getSslContext() != null 
-                && clientParameters.isDisableCNCheck()) {
-                // If they specify their own SSLContext, we cannot handle the
-                // HostnameVerifier so we'll need to use the URLConnection
-                o = Boolean.TRUE;
+            if (clientParameters.isDisableCNCheck()) {
+                if (clientParameters.getSslContext() != null) { 
+                    // If they specify their own SSLContext, we cannot handle 
the
+                    // HostnameVerifier so we'll need to use the URLConnection
+                    o = Boolean.TRUE;
+                }
+                if (clientParameters.getTrustManagers() != null 
+                    && JavaUtils.getJavaMajorVersion() < 14) {
+                    // trustmanagers hacks don't work on Java11
+                    o = Boolean.TRUE;                    
+                }
             }
-            
         }
         if (Boolean.TRUE.equals(o)) {
             message.put("USING_URLCONNECTION", Boolean.TRUE);
diff --git 
a/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_wsdl/WSAPureWsdlTest.java
 
b/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_wsdl/WSAPureWsdlTest.java
index 75e748c896..d0d166a01b 100644
--- 
a/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_wsdl/WSAPureWsdlTest.java
+++ 
b/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_wsdl/WSAPureWsdlTest.java
@@ -117,8 +117,7 @@ public class WSAPureWsdlTest extends AbstractWSATestBase {
             fail("should have failed");
         } catch (Exception t) {
             //expected
-            assertTrue(t.getCause().getCause().toString(),
-                       t.getCause() instanceof java.net.ConnectException
+            assertTrue(t.getCause() instanceof java.net.ConnectException
                        || t.getCause().getCause() instanceof 
java.net.ConnectException
                        || t.getCause().getCause() instanceof 
java.net.SocketTimeoutException);
         }

Reply via email to