Upload
mohammedboukoutaya
View
662
Download
1
Embed Size (px)
Citation preview
All Rights Reserved © Icaredesign2009
Mohammed Boukoutaya
Web Services, Génération et
utilisation des Stubs
Icare Design 2009
All Rights Reserved © Icaredesign 2009
Plan
1. Les prérequis
2. Génération des stubs
3. La documentation WSDL
4. L’utilisation des stubs.
All Rights Reserved © Icaredesign2009
Les prérequis
All Rights Reserved © Icaredesign 2009
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.
5 | Presentation Title | Month All Rights Reserved © Icaredesign 2009
Génération des stubs
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
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:
Génération des Stubs
All Rights Reserved © Icaredesign 2009
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
Génération des Stubs
9 | Presentation Title | Month All Rights Reserved © Icaredesign 2009
La documentation WSDL
All Rights Reserved © Icaredesign 2009
ApiFrameWork
Consulter la documentation de l’apiFrameWork
Cliquez ici
11 | Presentation Title | Month All Rights Reserved © Icaredesign 2009
L’utilisation des stubs.
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
15 | Presentation Title | Month All Rights Reserved © Icaredesign 2009
www.icaredesign.com