0

我们有一个最近通过 https 公开的网络服务。

当我们尝试使用 JAX-WS 客户端通过 https 连接到它时,它会抛出以下异常 com.sun.xml.ws.client.ClientTransportException: HTTP transport error: java.net.ConnectException: Connection denied: connect 这通常意味着套接字连接存在一些问题。当我们尝试使用 webservice 客户端调用 webservice 的某些操作时,它会抛出异常。对 web 服务的 http 调用工作正常。

有趣的是,这个问题只有在我们部署了 web 服务并且第一次调用使用 https 协议访问操作时才会发生。现在,只要我们进行 http 调用,令人惊讶的是,甚至 https 也开始工作。

如果有人以前遇到过此类问题,请提供一些建议。

4

1 回答 1

1

一般来说,您的 java 客户端应该在受信任的密钥库中拥有 ssl 证书。

使用 keytool 进行证书管理: keytool -import -trustcacerts -keystore trastedCert -storepass traustedCertPassword -noprompt -alias trastedCert -file trastedCert.cer

您可以将受信任的证书添加到您的 JVM(cacerts):

keytool -import -trustcacerts -keystore cacerts -storepass traustedCertPassword -noprompt -alias trastedCert -file trastedCert.cer

或者

对于 jBoss 应用服务器,我正在使用下一个 JAVA_OPTS 参数:

设置 JAVA_OPTS=%JAVA_OPTS% -Djavax.net.ssl.trustStore=%PATH_TO_CERT%\traustedCert -Djavax.net.ssl.trustStorePassword=traustedCertPassword

于 2013-05-14T16:41:49.107 回答