JAVA中SOAPConnection的SSL设置
我使用SOAPConnection发送soap请求并接收soap响应,如下所示: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
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。响应=连接。呼叫(消息,连接);