Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA中SOAPConnection的SSL设置_Java_Ssl_Soap - Fatal编程技术网

JAVA中SOAPConnection的SSL设置

JAVA中SOAPConnection的SSL设置,java,ssl,soap,Java,Ssl,Soap,我使用SOAPConnection发送soap请求并接收soap响应,如下所示: SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory .newInstance(); SOAPConnection connection = soapConnectionFactory.createConnection(); response = connection.call(message, u

我使用SOAPConnection发送soap请求并接收soap响应,如下所示:

SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory
            .newInstance();
    SOAPConnection connection = soapConnectionFactory.createConnection();
  response = connection.call(message, urlEndPoint);
我需要设置主机名验证程序。如果我使用的是HttpsURLConnection,我可以通过以下方式实现:

 HttpsURLConnection     connection = (HttpsURLConnection) url.openConnection();
          connection.setHostnameVerifier((String hostName, SSLSession ssls) -> hostName.equals("serverHostName")); 

如何使用SOAPConnection实现这一点?

默认情况下,如果urlEndPoint是HTTPS,那么它会自动处理HttpsURLConnection,那么您为什么需要额外验证主机?@RedBoy问题是,我得到的异常主机名与通用名称(CN)不匹配在服务器证书上,该证书是证书的一个问题。因为我在服务器端没有控制权,所以我想在这里提出一种解决方法。好的,在代码示例中,您可以传递connection对象而不是urlEndPoint。响应=连接。呼叫(消息,连接);