Ecole Hassania des Travaux Publics 2ème Année GI
TP Services Web
Nous souhaitons exploiter un service web permettant de retranscrire un nombre long en
anglais.
Une interface web est donnée à l’adresse :
[Link]
Le fichier WSDL de ce service est récupérable à l’URL :
[Link]
1- Tester le service à travers son interface WEB afin de comprendre son fonctionnement
Nous souhaitons maintenant écrire un client permettant de faire saisir par l’utilisateur un
nombre pour afficher ensuite l’écriture en Anglais de ce nombre. Pour cela :
2- Générer les classes de support côté requester
3- Parcourir attentivement le code généré du Stub. Remarquer le code correspondant à
a. La méthode numberToWords
b. La classe interne NumberToWords
c. La classe interne NumberToWordsResponse
4- Ecrire le code du client avec le comportement suivant
a. Inviter l’utilisateur à saisir un entier long
b. Récupérer une valeur BigInteger
c. A partir de cette valeur, obtenir un objet de type
[Link]
d. Créer l’objet représentant le message d’entrée de l’appel
e. Invoquer la méthode numberToWords
f. Afficher le retour
5- Compiler le code comprenant le client et le stub
En exécutant le client, vous allez constater un problème au niveau de l’invocation du
service avec la levée d’une Exception. Le problème à ce niveau est le fait que l’invocation
se fait en SSL et que le certificat du serveur où est déployé le service n’est reconnu par
votre JVM.
6- Pour répondre à cette problématique,
a. Récupérer le fichier du certificat au niveau du site [Link] et
l’enregistrer sous un fichier. Dans la suite, nous allons supposer que vous
l’avez fait sous le nom [Link]
b. En supposant que votre path comprend le chemin VotreJavaHome/bin,
appeler le programme keytool avec la commande :
i. Keytool -import -alias dataaccess -keystore
VotreJavaHome/jre/lib/security/cacerts -file
[Link]
ii. On va vous demander de saisir un mot de passe. Utiliser le mot de
passe par défaut : changeit
iii. Ensuite, on va vous demander si vous faites confiance au certificat.
Saisir : oui
iv. Si tout se passe bien, vous allez avoir le message : Certificat
ajouté au fichier de clés
7- Exécuter maintenant votre Client.
8- Proposer un service Web offrant l’opération « CheckSpelling » qui prend en argument
un entier et une chaine de caractère censé représenter son écriture en toutes lettres.
Elle renvoie un booléen exprimant le fait que l’écriture est correcte
9- Ecrire un client de ce service avec le comportement suivant :
a. Dans une boucle for de 10 itérations
i. Tirer aléatoirement un entier
ii. L’afficher et demander à l’utilisateur de l’écrire en toutes lettres
iii. Invoquer le service pour dire si l’écriture est correcte ou pas
iv. Afficher le résultat à l’utilisateur avec éventuellement la correction
b. A la fin donner le score sur 10 à l’utilisateur