2017-03-28 18 views
0

저는 webservice에 대한 호출을 만들기 위해 클래스를 생성하기 위해 maven-jaxb2를 사용하고 있습니다.SunCertPathBuilderException => 인증서가있는 Maven JAXB2 세대

<plugin> 
    <groupId>org.jvnet.jaxb2.maven2</groupId> 
    <artifactId>maven-jaxb2-plugin</artifactId> 
    <version>0.12.3</version> 
    <configuration> 
     <schemaLanguage>WSDL</schemaLanguage> 
     <schemas> 
      <schema> 
       <url>https://my-secured-webservice.com/file?wsdl</url> 
      </schema> 
     </schemas> 
     <generateDirectory>src\main\java</generateDirectory> 
     <verbose>true</verbose> 
    </configuration> 
    <executions> 
     <execution> 
      <phase>generate-sources</phase> 
      <goals> 
       <goal>generate</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

WSDL의 제대로 내 컴퓨터에 설치되어있는 인증서를 필요로한다. 내 브라우저에서 wsdl에 액세스 할 수 있습니다.

내가 속성 - 받는다는 - 플러그인이 속성을 추가 한

<property> 
    <name>javax.net.ssl.keyStore</name> 
    <value>/path/to/JKS/file.jks</value> 
</property> 
<property> 
    <name>javax.net.ssl.keyStorePassword</name> 
    <value>my-super-secret-password</value> 
</property> 

I에 의해 내 JKS 파일을 만들었습니다

keytool -importkeystore -deststorepass my-super-secret-password -destkeystore /path/to/JKS/file.jks -srckeystore /path/to/file.p12 -srcstoretype PKCS12 

때 내가 트리거하고있어 MVN : generate- 출처 : 다음 오류가 발생했습니다.

com.sun.istack.SAXParseException2; IOException thrown when processing "https://my-secured-webservice.com/file?wsdl". Exception: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target. 

내가 뭘 잘못하고 있니?

답변

1

나는 내 자신이 고정 .. 미안 해요 :

나는 드 WSDL 위치에서 인증서를 포착 한

. ..

sudo keytool -importcert -file /path/to/downloaded/certificate.crt -alias myalias -keystore $JAVA_HOME/jre/lib/security/cacerts 
그래서

내 인 cacerts에 인증서를 수입 : 다음

(내가가 .crt 파일을 다운로드 크롬을 사용했습니다)