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