Icare Design 2009
Web Services, Génération et utilisation des Stubs
Mohammed Boukoutaya
All Rights Reserved © Icaredesign2009
Plan
1. Les prérequis 2. Génération des stubs 3. La documentation WSDL 4. L’utilisation des stubs.
All Rights Reserved © Icaredesign 2009
Les prérequis
All Rights Reserved © Icaredesign2009
IDE : eclipse. AXIS (On utilisera la version 1.4) http://ws.apache.org/axis/ JDK 1.6 Les fichiers WSDL du web service à attaquer. La doc de WSDL.
All Rights Reserved © Icaredesign 2009
Génération des stubs
5 | Presentation Title | Month
All Rights Reserved © Icaredesign 2009
Génération des Stubs
Avec la version 1.4 il n’y a pas de plugin eclipse adapté. La génération des Stubs est manuelle. En entrée un fichier wsdl WSDL2JAVA est une commande réalisée pour la version 2.0 de Axis. On l’a adapté pour la version 1.4 voir le fichier : Example d’utilisation : Cd $AXIS_HOME wsdl2java -o c:\test -p nomDuPackage c:\monfichierWsdl.wsdl -o repertoire de generation -p : le package de génération des classes java. Le nom du fichier WSDL source
All Rights Reserved © Icaredesign 2009
Génération des Stubs
Les classes générées représentent le service web avec ses différentes méthodes et fonctionnalités. Les classes principales sont : ServiceNamePortSoapBindingStub ServiceNameService . ServiceNameServiceLocator:
All Rights Reserved © Icaredesign 2009
Génération des Stubs ServiceNamePortSoapBindingStub : Cette classe représente le squelette coté client. Elle regroupe l’ensemble des méthodes définit par le fichier WSDL. Ces méthode permettent d’attaquer le service web. ServiceNameService : C’est une interface qui représente le service web. Elle est implémentée dans la classe ServiceNameServiceLocator. ServiceNameServiceLocator: Elle permet d’instancier le service, de positionner son adresse, l’utilisateur et le mot de passe en cas de besoin, le numéro de port … etc. pour attaquer le service correctement. Cette classe est utilisée dans la classe : ServiceNamePortSoapBindingStub
All Rights Reserved © Icaredesign 2009
La documentation WSDL
9 | Presentation Title | Month
All Rights Reserved © Icaredesign 2009
ApiFrameWork
Consulter la documentation de l’apiFrameWork Cliquez ici
All Rights Reserved © Icaredesign 2009
L’utilisation des stubs.
11 | Presentation Title | Month
All Rights Reserved © Icaredesign 2009
Importation des classes dans Eclipse. Créer un nouveau projet Java sous eclipse, Importer les classes générées dans le projet.
All Rights Reserved © Icaredesign 2009
Exemple d’utilisation AlcServiceLocator GetServicesInfoRequest getServicesInfoRequest = new GetServicesInfoRequest(); getServicesInfoRequest.setAwaitedVersion(AwaitedVersion); getServicesInfoRequest.setRequester(requester); getServicesInfoRequest.setTags(tags); AlcLocalizationServiceLocator alc = new AlcLocalizationServiceLocator(); AlcLocalizationPortSoapBindingStub stub = new AlcLocalizationPortSoapBindingStub (new java.net.URL("http://"+Config.ICS_SERVER_IP+ Config.LOCALIZATION_SERVICE_URL), alc); GetServicesInfoResponse serviceInfoResponse = stub.getServicesInfo(getServicesInfoRequest);
All Rights Reserved © Icaredesign 2009
Travaux Pratiques
Implémentation d’une classe pour faire l’authentification. Avec ApiFrameWork
All Rights Reserved © Icaredesign 2009
www.icaredesign.com
15 | Presentation Title | Month
All Rights Reserved © Icaredesign 2009