Bonjour,
j'essaye de faire communiquer une application avec mon serveur via webservice.

Contraintes:
  1. Serveur : Jboss as7
  2. Moteur Service : CXF 2 via JBossWS 4.1
  3. Protocole HTTPS/SSL
  4. Authentification : Couple Login/Password


Pour l'instant j'ai un webservice fonctionnel en http. je viens d'activer le https sur le serveur. Le wsdl est joignable par navigateur en https. Je cherche donc à modifier mon application cliente pour accéder au serveur.

J'ai créer un fichier .keystore avec la commande suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
J'ai lié mon .keystore avec mon serveur via le fichier standalone.xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
<connector name="https" protocole=HTTP/1.1" scheme="https" socket-binding="https" secure="true">
<ssl key-alias="tomcat" password="<PASSWORD DU CERTIFICAT>" certificate-key-file="${jboss.server.config.dir}\certificats\.keystore" verify-client="false" />
</connector>
Comme dit plus haut le wsdl est joignable et on me demande bien d'accepter le certificat.

Maintenant dans mon application cliente. j'ai ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
MonServiceEJB service = new MonServiceEJB();
MonServiceRemote remote = service.getRessortissantEJB();
BindingProvider bp =  (BindingProvider)remote;
bp.getRequestedContext().put(BindingProvider.USERNAME_PROPERTY, "login");
bp.getRequestedContext().put(BindingProvider.PASSWORD_PROPERTY, "mdp");
remote.findAll();
Premier blocage, eclipse refuse de me générer les classes avec le lien en https, je suis obligé de passé en http et de changer le lien dans les fichiers générés.

Ensuite au deploiement de l'application j'ai l'erreur suivante :

Failed to start service jboss.deployment.unit "monServiceClient.war"
cause by: javax.xml.ws.WebserviceException : JBWS022087 : Failed to read https://localhost:8443/Monservice/MonServiceEJB?wsdl

cause by : javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException : PKIP path building failed

cause by : sun.provider.certpath.SunCertPathBuilderException : Unable to find valid certification path to requested target.
Une idée de ce qui me manque pour corriger cette erreur? Sur le net j'entends parler de .cert .ca. trustore etc j'arrive pas a savoir ce que je dois prendre ou générer