2014-02-14 3 views
4

추가 할 때이 오류가 계속 발생합니다. 어떤 아이디어. 나는 다른 WSDL 링크로 작업했고, 이것을 제외하고는 괜찮습니다.soapui 추가 할 때 WSDL 오류가 발생합니다.

org.apache.xmlbeans.XmlException : javax.net.ssl.SSLHandshakeException : sun.security.validator.ValidatorException : PKIX 경로를 건물 실패 : sun.security.provider.certpath.SunCertPathBuilderException : 없습니다를 에 요청한 대상에 대한 유효한 인증 경로를 찾으십시오.

답변

4

WSDL은 https에 있으므로 SOAPUI 설치와 함께 제공되는 JRE의 cacerts에 도메인 인증서를 추가해야합니다 (wsdl도 http에서 게시 될 수 있습니다. wsdl에 대한 url을 http로 변경하려고 시도 할 수 있습니다. 먼저 아래 단계를 시도해보십시오.)

브라우저 인증서를 다운로드해야합니다 (wsdl의 URL에 브라우저와 연결하여 인증서를 아카이브로 저장할 수 있음).

download server certificate sample

그럼 당신은 키 도구로 cacerts에이 인증서를 가져올 수 있습니다

keytool -import -alias somealias -file serverCertificate.cer -keystore SOAPUI_HOME/jre/lib/security/cacerts 

(cacerts에 대한 기본 암호는 "changeit를"입니다).

이 단계를 사용하면 WSDL을 사용하고 "PKIX 경로 작성 실패"예외를 피할 수 있습니다. 이 도움이

희망,

+0

이 명령 변경 디렉토리를 실행하기 전에 하나 이상의 jre가 설치되어있을 수 있으므로 대상 jre로 이동하십시오. SOAPUI_HOME/jre/bin (참조 : http://stackoverflow.com/a/8186224/2197088) – Legna

2

이 (적어도 4.6.4 기준) SoapUI에서 버그가 수 있도록 나타납니다. 방금 같은 문제가 생겨서 모든 곳에서 가져온 CA 인증서를 모두 가지고 있는지 확인한 후에 동일한 문제를 언급 한 this post을 발견했습니다.

게시글에 언급 된대로 야간 빌드를 설치했으며 SSL 핸드 셰이크 문제를 해결할 수있었습니다.

+0

다운로드했습니다. 스냅 샷 빌드는 http://www.soapui.org/Downloads/soapui-nightly-builds.html에 있으며, 저에게 도움이되었습니다. ("게시물"의 링크는 SOAP UI Pro 스냅 샷을 참조하십시오.) –

-1

이 주제가 질문 되었기 때문에 약간의 시간이 지났지 만, albciff의 답을 보완 해줍니다.

SoapUI는 자체 JRE를 가지고 있으므로 SoapUI의 JRE의 cacerts 파일에서 인증서를 가져와야합니다.

희망이 도움이됩니다.

3

는 SOAP UI의 문제는

위의 예외가 다음 단계를 따르 해결하려면 ... 프로그램을 실행하기 위해 JRE를 이겼네 사용하고 있습니다.

  1. 수출 (공개 키를 포함) 키 저장소 또는 브라우저에서 증명서 SOAPUI에
  2. 이동 디렉토리 아래의 디렉토리를 설치 위치 \ SmartBear \ soapUI-4.0.1 \ JRE \ lib 디렉토리 \ 보안
  3. cacerts 트러스트 스토어 (기본 트러스트 스토어)에 인증서 가져 오기
  4. SOAP UI를 다시 시작하고 WSDL을로드하십시오.
+1

OS X Yosemite에서 SoapUI 5.0을 실행하는 경우 SoapUI에서 사용하는 트러스트 스토어는 /Applications/SoapUI-5.0.0.app/Contents/PlugIns/jre.bundle/Contents/Home/jre/lib/security 디렉토리에 있습니다. –

0

여기에 교활한 세부 사항이있다는 : SOAPui는 wsimport 프로그램에 OS 시스템 호출을 wsimport 명령을 호출합니다. WSDL 가져 오기를 수행하기 위해 내부 클래스 com.sun.tools.internal.ws.WsImport을로드하지 않습니다. 당신이 그와 함께 제공되는 기본 JRE와 SOAPui을 실행하지만 당신은 또한 다른 JDK는 다음 코드를 생성 SOAPui 도구를 사용하는 경우, 설치되어있는 경우

wsimport 명령은 은 OS가에서 잘 알고있는 하나 사용 PATH가 아니고 SOAPui와 함께 제공되는 com.sun.tools.internal.ws.WsImport이 아닙니다.

이 경우 호출 된 wsimport은 SOAPUI_HOME \ jre \ lib \ security에있는 포함 된 cacerts를 참조하지 않습니다. 대신 wsimport이 속한 JDK의 기본 cacerts를 사용합니다. 이 경우

SOAPui uses wsimport from a JDK as this picture shows

당신이 따라야 할 단계는 다음과 같습니다

  1. 다운로드 및 파일에 server's 인증서를 저장, SRV-certificate.txt

  2. 말 이 인증서를 을 SOAPui 도구가 사용하는 JDK의 cacerts에 가져 오기 :

    C:\>keytool -import -alias somealias -file cmq-certificates.txt -keystore C:\software\jdk1.8.0.65\jre\lib\security\cacerts 
    

여기서 jdk1.8.0.65는 SOAPui 도구에서 사용되는 JDK입니다.

희망이 있습니다.

관련 문제