axis2 clients fr

36
1 Construire des services Web avec Apache Axis2

Upload: oxia

Post on 04-Jul-2015

357 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Axis2 clients fr

1

Construire des services Web avec Apache Axis2

Page 2: Axis2 clients fr

2

Agenda

Rendre les clients stub automatiquement

Faire des clients de client stubs

Par exemple autonome

Par exemple servlet

Page 3: Axis2 clients fr

3

approche de base

Page 4: Axis2 clients fr

4

Faire de projet du client

Page 5: Axis2 clients fr

5

Résultat: client stub

Remarques

Votre code sera utiliser le

service

classe de stub, mais vous ne

serez pas

éditer les fichiers générés

Le code généré suit

JDK 1.4 de style

En particulier, service stub

n'utilise pas les génériques

Page 6: Axis2 clients fr

6

Faire un Client: Point de départ

Faire nouvelle classe de "main"

Je vais utiliser le paquet s'appelle ‘clientâ ‘

Indiquez l'adresse du servicehttp://host/app-name/services/service-name

Passe l'adresse au constructeur d'un tstub

BlahStub stub = new BlahStub(address-of-service);

Blah est le nom de la classe à partir de laquelle vous avez

construit le service Web de bas en haut. Par

exemple, StockSymbolService.

Plus généralement, il est thewsdl: nomservice.

Page 7: Axis2 clients fr

7

Page 8: Axis2 clients fr

8

Faire un Client: Point de départ

Page 9: Axis2 clients fr

9

Services Web de la BAD Client: Faire Object Request

Instancier un objet de requête Classe interne dans le stub de service, nommé

d'après le nom op

Par exemple, si op (méthode) nom est FindData, vous devez faire:

BlahStub.FindData request =new BlahStub.FindData();

Définissez les paramètres

Trouvez méthode bottom-up de Javacode. Si la méthode param nameest foo, vous ne

request.setFoo (...)

Exemple

StockSymbolServiceStub.FindCompany request =new StockSymbolServiceStub.FindCompany();

request.setSymbol("ibm");

Page 10: Axis2 clients fr

10

Services Web de la BAD Client:Obtenir des données de réponse

Obtenez Objet de Réponse

Par exemple, supposons que le nom du service (origine ascendante nom de class de Java) est Blah et d'exploitation (nom de méthode dans la classe d'origine ascendante de Java) est FindData.

BlahStub stub = new BlahStub(address-of-service);

BlahStub.FindData request = new BlahStub.FindData();

BlahStub.FindDataResponse response =

stub.findData (demande);

S'il n'ya pas de valeur de retour, il suffit d'appeler stub.doSideEffect

Pas besoin d'utiliser l'objet réponse

Extraire des données de réponse Des données UnType = response.get_return ();

Le get_return nom est spécifié dans le fichier WSDL, mais dans le cas de clients construite à partir d'un fichier WSDL qui est venu d'un client de bas en haut, il sera toujours get_return.

Page 11: Axis2 clients fr

11

Notes pour l'utilisation avancée

Les noms de classes et la méthode Vraiment proviennent de fichier WSDL

Mais lors de la construction du client basé sur Java et unième (bottom-up) de service,il est plus facile il suffit de regarder la méthode et parameter names dans la classe Java (POJO) à partir de laquelle du service a été construit.

Des requêtes asynchrones. Approche la plus simple est d'utiliser synchrone (de type RPC) appelle au

service, comme indiqué ici.

Mais vous pouvez aussi utiliser asynchrone (rappel de style) les appels vers des services, comme il sera montré dans la section plus tard.

Page 12: Axis2 clients fr

12

Exemple autonome

Page 13: Axis2 clients fr

13

obtenir Stub

Page 14: Axis2 clients fr

14

Invoquant des opérations: Exemple 1 (Mise en Valeur de retour)

Page 15: Axis2 clients fr

15

Invoquant des opérations: Exemple 1 (suite)

Page 16: Axis2 clients fr

16

Invoquant des Opérations:Exemple 2 (non) Valeur de retour

Page 17: Axis2 clients fr

17

Invoquant des opérations:Exemple 2 (suite)

Page 18: Axis2 clients fr

18

Exemple de Servlet

Page 19: Axis2 clients fr

19

idée

Démarrer avec le code de la section précédente StockSymbolClient.getStub

StockSymbolClient.findCompany

StockSymbolClient.updateCompany

Faire servlet qui regarde nom de l'entreprise Lire param demande de symbole boursier

Appelez findCompany

Utilisez MVC

Faire servlet nom de la société mises à jour Lire params demande de symbole boursier et compagnie

Appelez mise à jour Société

Utilisez MVC

Page 20: Axis2 clients fr

20

architecture

Page 21: Axis2 clients fr

21

Recherche: Code Servlet

Page 22: Axis2 clients fr

22

Recherche: Code Servlet (Suite)

Page 23: Axis2 clients fr

23

Recherche: Code Servlet (Suite)

Page 24: Axis2 clients fr

24

Recherche: web.xml

Page 25: Axis2 clients fr

25

Recherche: Bean

Page 26: Axis2 clients fr

26

Recherche: Page de résultat principal

Page 27: Axis2 clients fr

27

Recherche: Formulaire d'entrée

Page 28: Axis2 clients fr

28

Recherche: résultats

Page 29: Axis2 clients fr

29

Mise à jour: Le code de servlet

Page 30: Axis2 clients fr

30

Mise à jour: Le code de servlet (Suite)

Page 31: Axis2 clients fr

31

Mise à jour: Le code de servlet (Suite)

Page 32: Axis2 clients fr

32

Mise à jour: web.xml

Page 33: Axis2 clients fr

33

Mise à jour: Page de résultat principal

Page 34: Axis2 clients fr

34

Mise à jour: formulaire de saisie

Page 35: Axis2 clients fr

35

Mise à jour: Résultats

Page 36: Axis2 clients fr

36

Résumé

Faire application cliente avec talons Fichier Nouveau Autre: Web Services: Client Web Service: Suivant

Pour la définition des services, donner des URL du fichier WSDL

Faire le code client (autonome ou servlet) Faire talon

Talon de BlahStub = BlahStub nouvelles (adresse du service);

Récupère l'objet de la demande

BlahStub.FindData demande = nouvelle BlahStub.FindData ();

Définissez les paramètres

request.setFoo(...);

Récupère l'objet de réponse et d'extraire des données

BlahStub.FindDataResponse réponse = stub.findData (demande);

Des données UnType = response.get_return ();