2013-05-14 6 views
0

최근에 https를 통해 노출 된 웹 서비스가 있습니다.https 프로토콜 (ssl)을 사용하여 웹 서비스에 액세스 할 수 없습니다

JAX-WS 클라이언트를 사용하여 https를 통해 연결하려고하면 예외가 발생합니다. com.sun.xml.ws.client.ClientTransportException : HTTP 전송 오류 : java.net.ConnectException : Connection refused : connect 일반적으로 소켓 연결에 문제가 있음을 의미합니다. webservice 클라이언트를 사용하여 webservice의 일부 작업을 호출 할 때 예외가 발생합니다. webservice에 대한 http 호출이 정상적으로 작동합니다.

재미있는 점은이 문제는 웹 서비스를 배포하고 https 프로토콜을 사용하여 액세스 작업을 처음 호출했을 때만 발생한다는 것입니다. 이제는 http 호출을하는 즉시 놀랍게도 https도 작동하기 시작합니다.

이전에 이런 문제가 발생 했었다면 조언을 해주십시오.

답변

1

일반적으로 Java 클라이언트는 신뢰할 수있는 키 저장소에 ssl 인증서가 있어야합니다. 인증서 관리를위한

사용 키 도구 : 키 도구 -import -trustcacerts -keystore trastedCert -storepass traustedCertPassword -noprompt -alias trastedCert - 파일 trastedCert.cer

귀하 (cacerts에) 당신의 JVM에 신뢰할 수있는 인증서를 추가 할 수 있습니다

키 도구 -import -trustcacerts -keystore cacerts에 -storepass traustedCertPassword -noprompt -alias trastedCert - 파일 trastedCert.cer

또는

F 또는 JBoss는 애플 리케이션 서버 난 다음 JAVA_OPTS의 PARAMS을 사용하고 있습니다 :

세트 JAVA_OPTS = % JAVA_OPTS % -Djavax.net.ssl.trustStore = % PATH_TO_CERT % \ traustedCert -Djavax.net.ssl.trustStorePassword = traustedCertPassword

+0

을 https 호출이 처음 http 호출을 시작하자마자 제대로 작동하기 때문에 문제는 여기에 인증서가 저장되는 것과 관련이 없습니다. –