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

Axis2 clients fr

  • 1.
    Construire des services Webavec Apache Axis2 1
  • 2.
    Agenda  Rendre lesclients stub automatiquement  Faire des clients de client stubs  Par exemple autonome  Par exemple servlet 2
  • 3.
  • 4.
    Faire de projetdu 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.
  • 8.
    Faire un Client:Point de départ 8
  • 9.
    Services Web dela 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 dela 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'utilisationavancé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
  • 12.
  • 13.
  • 14.
    Invoquant des opérations: Exemple1 (Mise en Valeur de retour) 14
  • 15.
  • 16.
    Invoquant des Opérations: Exemple 2 (non) Valeur de retour 16
  • 17.
  • 18.
  • 19.
    idée Démarrer avec lecode 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
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
    Recherche: Page derésultat principal 26
  • 27.
  • 28.
  • 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