Mise en place d'un Web Service via HTTPS avec JBoss AS7
Bonjour,
j'essaye de faire communiquer une application avec mon serveur via webservice.
Contraintes:
- Serveur : Jboss as7
- Moteur Service : CXF 2 via JBossWS 4.1
- Protocole HTTPS/SSL
- 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:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
J'ai lié mon .keystore avec mon serveur via le fichier standalone.xml
Code:
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:
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 :
Citation:
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