15
All Rights Reserved © Icaredesign2009 Mohammed Boukoutaya Web Services, Génération et utilisation des Stubs Icare Design 2009

présentation Génération de Stubs AXIS 1.4 et 2.4

Embed Size (px)

Citation preview

Page 1: présentation Génération de Stubs AXIS 1.4 et 2.4

All Rights Reserved © Icaredesign2009

Mohammed Boukoutaya

Web Services, Génération et

utilisation des Stubs

Icare Design 2009

Page 2: présentation Génération de Stubs AXIS 1.4 et 2.4

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.

Page 3: présentation Génération de Stubs AXIS 1.4 et 2.4

All Rights Reserved © Icaredesign2009

Les prérequis

Page 4: présentation Génération de Stubs AXIS 1.4 et 2.4

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.

Page 5: présentation Génération de Stubs AXIS 1.4 et 2.4

5 | Presentation Title | Month All Rights Reserved © Icaredesign 2009

Génération des stubs

Page 6: présentation Génération de Stubs AXIS 1.4 et 2.4

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

Page 7: présentation Génération de Stubs AXIS 1.4 et 2.4

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

Page 8: présentation Génération de Stubs AXIS 1.4 et 2.4

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

Page 9: présentation Génération de Stubs AXIS 1.4 et 2.4

9 | Presentation Title | Month All Rights Reserved © Icaredesign 2009

La documentation WSDL

Page 10: présentation Génération de Stubs AXIS 1.4 et 2.4

All Rights Reserved © Icaredesign 2009

ApiFrameWork

Consulter la documentation de l’apiFrameWork

Cliquez ici

Page 11: présentation Génération de Stubs AXIS 1.4 et 2.4

11 | Presentation Title | Month All Rights Reserved © Icaredesign 2009

L’utilisation des stubs.

Page 12: présentation Génération de Stubs AXIS 1.4 et 2.4

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.

Page 13: présentation Génération de Stubs AXIS 1.4 et 2.4

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);

Page 14: présentation Génération de Stubs AXIS 1.4 et 2.4

All Rights Reserved © Icaredesign 2009

Travaux Pratiques

Implémentation d’une classe pour faire l’authentification. Avec ApiFrameWork

Page 15: présentation Génération de Stubs AXIS 1.4 et 2.4

15 | Presentation Title | Month All Rights Reserved © Icaredesign 2009

www.icaredesign.com