TP Web Services Installation d`Axis Vérification des - Cedric

Transcription

TP Web Services Installation d`Axis Vérification des - Cedric
TP Web Services
Installation d'Axis
1°) Construisez vous un répertoire de travail nommé Travail dans lequel vous allez
travaillez ! :-).
2°)
Charger
l'archive
ADistribuerPourExoWS.zip
à
l'URL
http://cedric.cnam.fr/~farinone/SMB111/annee1011/ADistribuerPourExoWS.zip
Dans cette archive se trouve :
axis.war, log4j.properties, 1posAxisVariables.bat,
les clients
HelloClient.java et HelloClient2.java, le serveur Reponse.jws. et des scripts
d'aide.
Ouvrez cette archive dans le répertoire Travail. Recopier tout son contenu directement dans
le répertoire Travail.
3°) Axis est une application web. Elle se trouve dans cette archive mais vous pouvez aussi la
télécharger à partir de l'URL http://apache.cict.fr//ws/axis/1_4/.
Déployer l'application web (fichier axis.war fourni) dans tomcat. Vérifier le bon
fonctionnement en vous connectant sur
http://localhost:8080/axis/ puis en cliquant sur le lien Validation. Quel type
de page le lien Validation amène t il ?
Vérification des démonstration du cours
Déploiement du serveur
4°) Déployer le serveur Reponse.jws qui se trouve sous src, sous l'application web axis (cf.
les cours et TP précédents, utiliser Tomcat Manager). Vérifier que tout s'est bien passé en
accédant à l'URL http://localhost:8080/axis/Reponse.jws?wsdl (utiliser un
navigateur autre que chrome).
Compilation et exécution des clients
5°) Configurer correctement le script 1posAxisVariables.bat à l'environnement de votre
machine, de sorte que la variable CLASSPATH contienne les .jar amené par axis. Lancer son
exécution.
6°) Compiler les deux clients HelloClient.java et HelloClient2.java. à l'aide du
script 2compileClientsWS.bat. Ce sont les fichiers sources de démonstrations faites en
cours. Si vous avez un problème c'est peut être que axis ne trouve pas le fichier tools.jar
qui si trouve dans le jdk. Ajouter ce fichier tools.jar dans le répertoire lib de tomcat.
7°) Pour éviter les warnings intempestifs de log, vérifier que le fichier log4j.properties a
été placé dans le répertoire où vous allez lancer l'exécution de ces scripts.
Services web avec Java EE (axis)
1/2
Jean-Marc Farinone
8°) Exécuter le client HelloClient en utilisant le script 3executeHelloClient.bat et
HelloClient2 en utilisant le script 4executeHelloClient2.bat. Ce sont les deux
démonstrations faites en cours.
Développement du client et d'un serveur WS
9°) Ecrire une service .jws qui est une calculatrice, proposant les additions et les soustractions.
On pourra convenir que le serveur reçoit trois arguments : les deux opérandes et l'opération à
effectuer.
10°) Déployer ce service dans axis
11°) Ecrire un client WS qui interroge ce service. On pourra s'inspirer de
HelloClient.java. De plus on construira des variables de type Integer à partir des
valeurs lancées sur la ligne de commande de lancement de ce client. Ce type Java Integer
correspond au type WSDL xsd:int. On écrira donc des instructions comme :
call.addParameter("op2", XMLType.XSD_INT, ParameterMode.IN);
Le type retourné est aussi un entier.
Compiler ce client. On utilisera le fichier 1posAxisVariables.bat (déjà configuré pour
votre propre environnement cf. question 5°)) pour positionner les variables nécessaires à la
compilation. En fait il est prudent de lancer cette commande lorsqu'on ouvre une fenêtre de
commande.
12°) Exécuter ce client. On lancera l'exécution dans un répertoire contenant le fichier
log4j.properties.
Messages SOAP et Bonus
13°) A l'aide de TCPMon, tracer les messages SOAP entre le client et le serveur WS
calculatrice. Pour cela, il faut "légérerement" modifier les clients (et donc les recompiler).
Bonus 1 :
14°) Compléter la calculatrice avec toutes les opérations. La construire de sorte à manipuler la
notation polonaise inverse. Par exemple la notion infixée traditionnelle 3 + 6 - 7 + 12/4
est écrite en polonaise inversée 3 6 + 7 - 12 4 / +
La notation polonaise inverse à l'avantage de pouvoir se passer de parenthèses.
Services web avec Java EE (axis)
2/2
Jean-Marc Farinone