SlideShare una empresa de Scribd logo
1 de 36
Construire des services
Web avec Apache Axis2




                          1
Agenda
 Rendre les clients stub automatiquement

 Faire des clients de client stubs

 Par exemple autonome

 Par exemple servlet



                                            2
approche de base




                   3
Faire de projet du client




                            4
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

                                  5
Faire un Client: Point de départ
   Faire nouvelle classe de "main"
       Je vais utiliser le paquet s'appelle ‘clientâ ‘


   Indiquez l'adresse du service
     http://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.

                                                                         6
7
Faire un Client: Point de départ




                                   8
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 Java
      code. Si la méthode param name
      est foo, vous ne
         request.setFoo (...)
   Exemple
  StockSymbolServiceStub.FindCompany request =new
     StockSymbolServiceStub.FindCompany();
  request.setSymbol("ibm");
                                                           9
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.

                                                                                         10
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.



                                                                                       11
Exemple autonome




                   12
obtenir Stub




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




                                       14
Invoquant des opérations:
Exemple 1 (suite)




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




                                    16
Invoquant des opérations:
Exemple 2 (suite)




                            17
Exemple de Servlet




                     18
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
                                                           19
architecture




               20
Recherche: Code Servlet




                          21
Recherche: Code Servlet (Suite)




                                  22
Recherche: Code Servlet (Suite)




                                  23
Recherche: web.xml




                     24
Recherche: Bean




                  25
Recherche: Page de résultat principal




                                        26
Recherche: Formulaire d'entrée




                                 27
Recherche: résultats




                       28
Mise à jour: Le code de servlet




                                  29
Mise à jour: Le code de servlet (Suite)




                                          30
Mise à jour: Le code de servlet (Suite)




                                          31
Mise à jour: web.xml




                       32
Mise à jour: Page de résultat principal




                                          33
Mise à jour: formulaire de saisie




                                    34
Mise à jour: Résultats




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


                                                                          36

Más contenido relacionado

La actualidad más candente

eServices-Tp5: api management
eServices-Tp5: api managementeServices-Tp5: api management
eServices-Tp5: api managementLilia Sfaxi
 
Workshop Spring - Session 4 - Spring Batch
Workshop Spring -  Session 4 - Spring BatchWorkshop Spring -  Session 4 - Spring Batch
Workshop Spring - Session 4 - Spring BatchAntoine Rey
 
Création de Services et Configuration du ESB avec TalendESB
Création de Services et Configuration du ESB avec TalendESBCréation de Services et Configuration du ESB avec TalendESB
Création de Services et Configuration du ESB avec TalendESBLilia Sfaxi
 
cours j2ee -présentation
cours  j2ee -présentationcours  j2ee -présentation
cours j2ee -présentationYassine Badri
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRSLilia Sfaxi
 
Talend ESB : Monitoring, Repartition de Charge et Authentification
Talend ESB : Monitoring, Repartition de Charge et AuthentificationTalend ESB : Monitoring, Repartition de Charge et Authentification
Talend ESB : Monitoring, Repartition de Charge et AuthentificationLilia Sfaxi
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Antoine Rey
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWSLilia Sfaxi
 
Requêtes HTTP synchrones et asynchrones
Requêtes HTTPsynchrones et asynchronesRequêtes HTTPsynchrones et asynchrones
Requêtes HTTP synchrones et asynchronesAbdoulaye Dieng
 
Cours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partieCours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partiekadzaki
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDOAbdoulaye Dieng
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJSAbdoulaye Dieng
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScriptAbdoulaye Dieng
 
Service WEB de type REST avec Java
Service WEB de type REST avec JavaService WEB de type REST avec Java
Service WEB de type REST avec JavaFrancois ANDRE
 
Projet base de donnée
Projet base de donnée Projet base de donnée
Projet base de donnée MakremArfaoui2
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EEYassine Badri
 

La actualidad más candente (20)

eServices-Tp5: api management
eServices-Tp5: api managementeServices-Tp5: api management
eServices-Tp5: api management
 
Workshop Spring - Session 4 - Spring Batch
Workshop Spring -  Session 4 - Spring BatchWorkshop Spring -  Session 4 - Spring Batch
Workshop Spring - Session 4 - Spring Batch
 
Création de Services et Configuration du ESB avec TalendESB
Création de Services et Configuration du ESB avec TalendESBCréation de Services et Configuration du ESB avec TalendESB
Création de Services et Configuration du ESB avec TalendESB
 
cours j2ee -présentation
cours  j2ee -présentationcours  j2ee -présentation
cours j2ee -présentation
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
OpenESB et BPEL
OpenESB et BPELOpenESB et BPEL
OpenESB et BPEL
 
Introduction à ajax
Introduction à ajaxIntroduction à ajax
Introduction à ajax
 
Talend ESB : Monitoring, Repartition de Charge et Authentification
Talend ESB : Monitoring, Repartition de Charge et AuthentificationTalend ESB : Monitoring, Repartition de Charge et Authentification
Talend ESB : Monitoring, Repartition de Charge et Authentification
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
Cours php
Cours php Cours php
Cours php
 
Requêtes HTTP synchrones et asynchrones
Requêtes HTTPsynchrones et asynchronesRequêtes HTTPsynchrones et asynchrones
Requêtes HTTP synchrones et asynchrones
 
Cours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partieCours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partie
 
Introduction à Laravel
Introduction à LaravelIntroduction à Laravel
Introduction à Laravel
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJS
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
 
Service WEB de type REST avec Java
Service WEB de type REST avec JavaService WEB de type REST avec Java
Service WEB de type REST avec Java
 
Projet base de donnée
Projet base de donnée Projet base de donnée
Projet base de donnée
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EE
 

Destacado

Flexpower Erhebung zu unselbstständiger Beschäftigung
Flexpower Erhebung zu unselbstständiger BeschäftigungFlexpower Erhebung zu unselbstständiger Beschäftigung
Flexpower Erhebung zu unselbstständiger Beschäftigunghc voigt
 
RECURSOS INFORMÁTICOS UNIDAD 4
RECURSOS INFORMÁTICOS UNIDAD 4RECURSOS INFORMÁTICOS UNIDAD 4
RECURSOS INFORMÁTICOS UNIDAD 4Angela Vargas
 
Ageka terrasse
Ageka terrasse  Ageka terrasse
Ageka terrasse Ageka
 
Le passé composé
Le passé composéLe passé composé
Le passé composéfausto2007
 
Communiqué de presse Noël 2012 - Babymoov
Communiqué de presse Noël 2012 - BabymoovCommuniqué de presse Noël 2012 - Babymoov
Communiqué de presse Noël 2012 - BabymoovRomu
 
Social Media Marketing / eBusiness Kongress 2012
Social Media Marketing / eBusiness Kongress 2012Social Media Marketing / eBusiness Kongress 2012
Social Media Marketing / eBusiness Kongress 2012Juergen Wiese
 
Presentación1 pantallazos
Presentación1 pantallazosPresentación1 pantallazos
Presentación1 pantallazosyesika2619
 
Répertoire des services en Abitibi-Ouest
Répertoire des services en Abitibi-OuestRépertoire des services en Abitibi-Ouest
Répertoire des services en Abitibi-OuestSADC d'Abitibi-Ouest
 
Découvrez la success story de JustFab avec Lengow
Découvrez la success story de JustFab avec LengowDécouvrez la success story de JustFab avec Lengow
Découvrez la success story de JustFab avec LengowLengow
 
Vendre sa voiture sans tracas
Vendre sa voiture sans tracasVendre sa voiture sans tracas
Vendre sa voiture sans tracasMaryMarie
 
TIC et microtechniques – potentiel et opportunités de la biodiversité
TIC et microtechniques – potentiel et opportunités de la biodiversitéTIC et microtechniques – potentiel et opportunités de la biodiversité
TIC et microtechniques – potentiel et opportunités de la biodiversitéMinnovarc
 
Jardin en bocal
Jardin en bocalJardin en bocal
Jardin en bocalmalibu84
 
3 e-cormerce
3   e-cormerce3   e-cormerce
3 e-cormercedeivi-sk
 
Memoria electronica
Memoria electronicaMemoria electronica
Memoria electronicaelizaethpl
 

Destacado (20)

Flexpower Erhebung zu unselbstständiger Beschäftigung
Flexpower Erhebung zu unselbstständiger BeschäftigungFlexpower Erhebung zu unselbstständiger Beschäftigung
Flexpower Erhebung zu unselbstständiger Beschäftigung
 
Berlin (Part 2)
Berlin (Part 2)Berlin (Part 2)
Berlin (Part 2)
 
Autismo
AutismoAutismo
Autismo
 
RECURSOS INFORMÁTICOS UNIDAD 4
RECURSOS INFORMÁTICOS UNIDAD 4RECURSOS INFORMÁTICOS UNIDAD 4
RECURSOS INFORMÁTICOS UNIDAD 4
 
Ageka terrasse
Ageka terrasse  Ageka terrasse
Ageka terrasse
 
Buenlibr
BuenlibrBuenlibr
Buenlibr
 
Le passé composé
Le passé composéLe passé composé
Le passé composé
 
Communiqué de presse Noël 2012 - Babymoov
Communiqué de presse Noël 2012 - BabymoovCommuniqué de presse Noël 2012 - Babymoov
Communiqué de presse Noël 2012 - Babymoov
 
Mattepaintings
MattepaintingsMattepaintings
Mattepaintings
 
Social Media Marketing / eBusiness Kongress 2012
Social Media Marketing / eBusiness Kongress 2012Social Media Marketing / eBusiness Kongress 2012
Social Media Marketing / eBusiness Kongress 2012
 
Presentación1 pantallazos
Presentación1 pantallazosPresentación1 pantallazos
Presentación1 pantallazos
 
Répertoire des services en Abitibi-Ouest
Répertoire des services en Abitibi-OuestRépertoire des services en Abitibi-Ouest
Répertoire des services en Abitibi-Ouest
 
La négation
La négationLa négation
La négation
 
Découvrez la success story de JustFab avec Lengow
Découvrez la success story de JustFab avec LengowDécouvrez la success story de JustFab avec Lengow
Découvrez la success story de JustFab avec Lengow
 
Vendre sa voiture sans tracas
Vendre sa voiture sans tracasVendre sa voiture sans tracas
Vendre sa voiture sans tracas
 
TIC et microtechniques – potentiel et opportunités de la biodiversité
TIC et microtechniques – potentiel et opportunités de la biodiversitéTIC et microtechniques – potentiel et opportunités de la biodiversité
TIC et microtechniques – potentiel et opportunités de la biodiversité
 
Jardin en bocal
Jardin en bocalJardin en bocal
Jardin en bocal
 
3 e-cormerce
3   e-cormerce3   e-cormerce
3 e-cormerce
 
Memoria electronica
Memoria electronicaMemoria electronica
Memoria electronica
 
COMIDA PARA LA LONGEVIDAD
COMIDA PARA LA LONGEVIDADCOMIDA PARA LA LONGEVIDAD
COMIDA PARA LA LONGEVIDAD
 

Similar a Axis2 clients fr

Web dev open door
Web dev   open doorWeb dev   open door
Web dev open doorLeTesteur
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpelLilia Sfaxi
 
Presentation bpel
Presentation bpelPresentation bpel
Presentation bpelAnasse Ej
 
ASP.NET Futures
ASP.NET FuturesASP.NET Futures
ASP.NET Futuresloicbar
 
Asp.Net Futures
Asp.Net FuturesAsp.Net Futures
Asp.Net Futuresloicbar
 
Business process execution language
Business process execution languageBusiness process execution language
Business process execution languageBilel Abed
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web ServicesLilia Sfaxi
 
JavaEE 5 - Exercise - 2009 - FR
JavaEE 5 - Exercise - 2009 - FRJavaEE 5 - Exercise - 2009 - FR
JavaEE 5 - Exercise - 2009 - FRSonny Brabez
 
Zabbix - fonctionnement, bonnes pratiques, inconvenients
Zabbix - fonctionnement, bonnes pratiques, inconvenientsZabbix - fonctionnement, bonnes pratiques, inconvenients
Zabbix - fonctionnement, bonnes pratiques, inconvenientsbiapy
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELLilia Sfaxi
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web servicesLilia Sfaxi
 
Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Tugdual Grall
 
ENIB cours CAI Web - Séance 4 - Frameworks/Spring - Cours
ENIB cours CAI Web - Séance 4 - Frameworks/Spring - CoursENIB cours CAI Web - Séance 4 - Frameworks/Spring - Cours
ENIB cours CAI Web - Séance 4 - Frameworks/Spring - CoursHoracio Gonzalez
 
Introduction à Angularjs
Introduction à AngularjsIntroduction à Angularjs
Introduction à AngularjsRossi Oddet
 

Similar a Axis2 clients fr (20)

spring-boot-fr.pdf
spring-boot-fr.pdfspring-boot-fr.pdf
spring-boot-fr.pdf
 
Axis2 services fr
Axis2 services frAxis2 services fr
Axis2 services fr
 
Web dev open door
Web dev   open doorWeb dev   open door
Web dev open door
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
Presentation bpel
Presentation bpelPresentation bpel
Presentation bpel
 
ASP.NET Futures
ASP.NET FuturesASP.NET Futures
ASP.NET Futures
 
Asp.Net Futures
Asp.Net FuturesAsp.Net Futures
Asp.Net Futures
 
Business process execution language
Business process execution languageBusiness process execution language
Business process execution language
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
JavaEE 5 - Exercise - 2009 - FR
JavaEE 5 - Exercise - 2009 - FRJavaEE 5 - Exercise - 2009 - FR
JavaEE 5 - Exercise - 2009 - FR
 
Zabbix - fonctionnement, bonnes pratiques, inconvenients
Zabbix - fonctionnement, bonnes pratiques, inconvenientsZabbix - fonctionnement, bonnes pratiques, inconvenients
Zabbix - fonctionnement, bonnes pratiques, inconvenients
 
Linq Tech Days08 Lux
Linq Tech Days08 LuxLinq Tech Days08 Lux
Linq Tech Days08 Lux
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 
Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)
 
Spring ioc
Spring iocSpring ioc
Spring ioc
 
ENIB cours CAI Web - Séance 4 - Frameworks/Spring - Cours
ENIB cours CAI Web - Séance 4 - Frameworks/Spring - CoursENIB cours CAI Web - Séance 4 - Frameworks/Spring - Cours
ENIB cours CAI Web - Séance 4 - Frameworks/Spring - Cours
 
Formation cakephp
Formation cakephpFormation cakephp
Formation cakephp
 
Introduction à Angularjs
Introduction à AngularjsIntroduction à Angularjs
Introduction à Angularjs
 
Rapport tp3 j2ee
Rapport tp3 j2eeRapport tp3 j2ee
Rapport tp3 j2ee
 

Más de Ben Abdallah Helmi

SCWCD : Java server pages CHAP : 9
SCWCD : Java server pages  CHAP : 9SCWCD : Java server pages  CHAP : 9
SCWCD : Java server pages CHAP : 9Ben Abdallah Helmi
 
SCWCD : Servlet web applications : CHAP : 3
SCWCD : Servlet web applications : CHAP : 3SCWCD : Servlet web applications : CHAP : 3
SCWCD : Servlet web applications : CHAP : 3Ben Abdallah Helmi
 
SCWCD : The servlet model CHAP : 2
SCWCD : The servlet model CHAP : 2SCWCD : The servlet model CHAP : 2
SCWCD : The servlet model CHAP : 2Ben Abdallah Helmi
 
SCWCD : Thread safe servlets : CHAP : 8
SCWCD : Thread safe servlets : CHAP : 8SCWCD : Thread safe servlets : CHAP : 8
SCWCD : Thread safe servlets : CHAP : 8Ben Abdallah Helmi
 
SCWCD : Session management : CHAP : 6
SCWCD : Session management : CHAP : 6SCWCD : Session management : CHAP : 6
SCWCD : Session management : CHAP : 6Ben Abdallah Helmi
 
SCWCD : Handling exceptions : CHAP : 5
SCWCD : Handling exceptions : CHAP : 5SCWCD : Handling exceptions : CHAP : 5
SCWCD : Handling exceptions : CHAP : 5Ben Abdallah Helmi
 
SCWCD : The servlet container : CHAP : 4
SCWCD : The servlet container : CHAP : 4SCWCD : The servlet container : CHAP : 4
SCWCD : The servlet container : CHAP : 4Ben Abdallah Helmi
 
SCWCD : Servlet web applications : CHAP 3
SCWCD : Servlet web applications : CHAP 3SCWCD : Servlet web applications : CHAP 3
SCWCD : Servlet web applications : CHAP 3Ben Abdallah Helmi
 
SCWCD : The servlet model : CHAP : 2
SCWCD  : The servlet model : CHAP : 2SCWCD  : The servlet model : CHAP : 2
SCWCD : The servlet model : CHAP : 2Ben Abdallah Helmi
 
SCWCD : The web client model : CHAP : 1
SCWCD  : The web client model : CHAP : 1SCWCD  : The web client model : CHAP : 1
SCWCD : The web client model : CHAP : 1Ben Abdallah Helmi
 
SCWCD : Web tier design CHAP : 11
SCWCD : Web tier design CHAP : 11SCWCD : Web tier design CHAP : 11
SCWCD : Web tier design CHAP : 11Ben Abdallah Helmi
 
Ejb3 3-message-driven-beans fr
Ejb3 3-message-driven-beans frEjb3 3-message-driven-beans fr
Ejb3 3-message-driven-beans frBen Abdallah Helmi
 

Más de Ben Abdallah Helmi (19)

The Data Warehouse .pdf
The Data Warehouse .pdfThe Data Warehouse .pdf
The Data Warehouse .pdf
 
Transaction design patterns
Transaction design patternsTransaction design patterns
Transaction design patterns
 
SCWCD : Java server pages CHAP : 9
SCWCD : Java server pages  CHAP : 9SCWCD : Java server pages  CHAP : 9
SCWCD : Java server pages CHAP : 9
 
SCWCD : Servlet web applications : CHAP : 3
SCWCD : Servlet web applications : CHAP : 3SCWCD : Servlet web applications : CHAP : 3
SCWCD : Servlet web applications : CHAP : 3
 
SCWCD : The servlet model CHAP : 2
SCWCD : The servlet model CHAP : 2SCWCD : The servlet model CHAP : 2
SCWCD : The servlet model CHAP : 2
 
SCWCD : The web client model
SCWCD : The web client modelSCWCD : The web client model
SCWCD : The web client model
 
SCWCD : Thread safe servlets : CHAP : 8
SCWCD : Thread safe servlets : CHAP : 8SCWCD : Thread safe servlets : CHAP : 8
SCWCD : Thread safe servlets : CHAP : 8
 
SCWCD : Secure web : CHAP : 7
SCWCD : Secure web : CHAP : 7SCWCD : Secure web : CHAP : 7
SCWCD : Secure web : CHAP : 7
 
SCWCD : Secure web
SCWCD : Secure webSCWCD : Secure web
SCWCD : Secure web
 
SCWCD : Session management : CHAP : 6
SCWCD : Session management : CHAP : 6SCWCD : Session management : CHAP : 6
SCWCD : Session management : CHAP : 6
 
SCWCD : Handling exceptions : CHAP : 5
SCWCD : Handling exceptions : CHAP : 5SCWCD : Handling exceptions : CHAP : 5
SCWCD : Handling exceptions : CHAP : 5
 
SCWCD : The servlet container : CHAP : 4
SCWCD : The servlet container : CHAP : 4SCWCD : The servlet container : CHAP : 4
SCWCD : The servlet container : CHAP : 4
 
SCWCD : Servlet web applications : CHAP 3
SCWCD : Servlet web applications : CHAP 3SCWCD : Servlet web applications : CHAP 3
SCWCD : Servlet web applications : CHAP 3
 
SCWCD : The servlet model : CHAP : 2
SCWCD  : The servlet model : CHAP : 2SCWCD  : The servlet model : CHAP : 2
SCWCD : The servlet model : CHAP : 2
 
SCWCD : The web client model : CHAP : 1
SCWCD  : The web client model : CHAP : 1SCWCD  : The web client model : CHAP : 1
SCWCD : The web client model : CHAP : 1
 
SCWCD : Web tier design CHAP : 11
SCWCD : Web tier design CHAP : 11SCWCD : Web tier design CHAP : 11
SCWCD : Web tier design CHAP : 11
 
Ejb3 3-message-driven-beans fr
Ejb3 3-message-driven-beans frEjb3 3-message-driven-beans fr
Ejb3 3-message-driven-beans fr
 
Ejb3 2-session-beans fr
Ejb3 2-session-beans frEjb3 2-session-beans fr
Ejb3 2-session-beans fr
 
Ejb3 1-server-setup fr
Ejb3 1-server-setup frEjb3 1-server-setup fr
Ejb3 1-server-setup fr
 

Axis2 clients fr

  • 1. Construire des services Web avec Apache Axis2 1
  • 2. Agenda  Rendre les clients stub automatiquement  Faire des clients de client stubs  Par exemple autonome  Par exemple servlet 2
  • 4. Faire de projet du client 4
  • 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 5
  • 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 service http://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. 6
  • 7. 7
  • 8. Faire un Client: Point de départ 8
  • 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 Java code. Si la méthode param name est foo, vous ne  request.setFoo (...)  Exemple StockSymbolServiceStub.FindCompany request =new StockSymbolServiceStub.FindCompany(); request.setSymbol("ibm"); 9
  • 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. 10
  • 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. 11
  • 14. Invoquant des opérations: Exemple 1 (Mise en Valeur de retour) 14
  • 16. Invoquant des Opérations: Exemple 2 (non) Valeur de retour 16
  • 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 19
  • 26. Recherche: Page de résultat principal 26
  • 29. Mise à jour: Le code de servlet 29
  • 30. Mise à jour: Le code de servlet (Suite) 30
  • 31. Mise à jour: Le code de servlet (Suite) 31
  • 32. Mise à jour: web.xml 32
  • 33. Mise à jour: Page de résultat principal 33
  • 34. Mise à jour: formulaire de saisie 34
  • 35. Mise à jour: Résultats 35
  • 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 (); 36