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 :
J'ai lié mon .keystore avec mon serveur via le fichier standalone.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
Comme dit plus haut le wsdl est joignable et on me demande bien d'accepter le certificat.
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>
Maintenant dans mon application cliente. j'ai ceci :
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.
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();
Ensuite au deploiement de l'application j'ai l'erreur suivante :
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érerFailed 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.
Partager