axis2 clients fr
TRANSCRIPT
![Page 1: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/1.jpg)
1
Construire des services Web avec Apache Axis2
![Page 2: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/2.jpg)
2
Agenda
Rendre les clients stub automatiquement
Faire des clients de client stubs
Par exemple autonome
Par exemple servlet
![Page 3: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/3.jpg)
3
approche de base
![Page 4: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/4.jpg)
4
Faire de projet du client
![Page 5: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/7.jpg)
7
![Page 8: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/8.jpg)
8
Faire un Client: Point de départ
![Page 9: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/12.jpg)
12
Exemple autonome
![Page 13: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/13.jpg)
13
obtenir Stub
![Page 14: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/14.jpg)
14
Invoquant des opérations: Exemple 1 (Mise en Valeur de retour)
![Page 15: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/15.jpg)
15
Invoquant des opérations: Exemple 1 (suite)
![Page 16: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/16.jpg)
16
Invoquant des Opérations:Exemple 2 (non) Valeur de retour
![Page 17: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/17.jpg)
17
Invoquant des opérations:Exemple 2 (suite)
![Page 18: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/18.jpg)
18
Exemple de Servlet
![Page 19: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/20.jpg)
20
architecture
![Page 21: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/21.jpg)
21
Recherche: Code Servlet
![Page 22: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/22.jpg)
22
Recherche: Code Servlet (Suite)
![Page 23: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/23.jpg)
23
Recherche: Code Servlet (Suite)
![Page 24: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/24.jpg)
24
Recherche: web.xml
![Page 25: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/25.jpg)
25
Recherche: Bean
![Page 26: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/26.jpg)
26
Recherche: Page de résultat principal
![Page 27: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/27.jpg)
27
Recherche: Formulaire d'entrée
![Page 28: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/28.jpg)
28
Recherche: résultats
![Page 29: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/29.jpg)
29
Mise à jour: Le code de servlet
![Page 30: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/30.jpg)
30
Mise à jour: Le code de servlet (Suite)
![Page 31: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/31.jpg)
31
Mise à jour: Le code de servlet (Suite)
![Page 32: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/32.jpg)
32
Mise à jour: web.xml
![Page 33: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/33.jpg)
33
Mise à jour: Page de résultat principal
![Page 34: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/34.jpg)
34
Mise à jour: formulaire de saisie
![Page 35: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/35.jpg)
35
Mise à jour: Résultats
![Page 36: Axis2 clients fr](https://reader033.vdocuments.pub/reader033/viewer/2022052909/55980f9c1a28ab311f8b45bf/html5/thumbnails/36.jpg)
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 ();