J'utilise maven-jaxb2 pour générer des classes afin de passer des appels à un webservice.SunCertPathBuilderException => Génération Maven JAXB2 avec certificat
<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>
Le wsdl a besoin d'un certificat qui est correctement installé sur ma machine. Je peux accéder au wsdl avec mon navigateur.
J'ai ajouté 2 propriétés avec les propriétés-maven-plugin
<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>
J'ai créé mon fichier JKS par:
keytool -importkeystore -deststorepass my-super-secret-password -destkeystore /path/to/JKS/file.jks -srckeystore /path/to/file.p12 -srcstoretype PKCS12
Quand je le déclenchement mvn: generate- sources, j'ai l'erreur suivante surgissant:
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.
Qu'est-ce que je fais mal?