IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Java Discussion :

[WebServices][WSDL] Utilisation (basique) de la Google API


Sujet :

Services Web Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 60
    Points : 81
    Points
    81
    Par défaut [WebServices][WSDL] Utilisation (basique) de la Google API
    Salut,

    Google met à disposition des développeurs une API (version bêta) qui permet de faire appel à ses services à travers une interface SOAP / wsdl.

    Cette API est principalement constituée d'un fichier wsdl qui décrit le service sous forme d'une classe GoogleSearch (en fait 2, 1 pour la recherche, 1 pour les résultats + 1 exception).

    L'utilisation de ces classes est plutôt simple, mais je ne comprends pas comment faire pour utiliser ce fichier wsdl.
    Est-il nécessaire d'utiliser des APIs du pack WebService Developper Pack JAX-RPC et JAXB (ou d'autres APIs) pour transformer le wsdl en définitions de classes intelligibles pour le compileur java ? Ou est-ce que je suis complètement à côté de la plaque ?

    Si quelqu'un pouvait m'indiquer comment compiler la classe GoogleAPIDemo fournie avec le fichier wsdl en guise d'exemple (code après la signature), je pense que ca me sortirai d'affaire ... et je lui en serais très reconnaissant .

    --
    Rom_1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    /* Copyright (C) 2002, Google, Inc. */
    package com.google.soap.search;
    import java.io.*;
     
    /**
     * The GoogleAPIDemo is a demonstration of using the Google Web APIs for
     * search and fetching pages from the cache.
     */
    public class GoogleAPIDemo {
      /** Demonstration program to call the Google Web APIs service.
      public static void main(String[] args) {
        // Parse the command line
        if (args.length != 3) { printUsageAndExit(); }
        String clientKey = args[0];
        String directive = args[1];
        String directiveArg = args[2];
     
        // Report the arguments received
        System.out.println(...); 
     
        // Create a Google Search object, set our authorization key
        GoogleSearch s = new GoogleSearch();
        s.setKey(clientKey);
     
        // Depending on user input, do search or cache query, then print out result
        try {
          if (directive.equalsIgnoreCase("search")) {
            s.setQueryString(directiveArg);
            GoogleSearchResult r = s.doSearch();
            System.out.println("Google Search Results:");
            System.out.println("======================");
            System.out.println(r.toString());
          } else if (directive.equalsIgnoreCase("cached")) {
            System.out.println("Cached page:");
            System.out.println("============");
            byte [] cachedBytes = s.doGetCachedPage(directiveArg);
            // Note - this conversion to String should be done with reference
            // to the encoding of the cached page, but we don't do that here.
            String cachedString = new String(cachedBytes);
            System.out.println(cachedString);
          } else if (directive.equalsIgnoreCase("spell")) {
            System.out.println("Spelling suggestion:");
            String suggestion = s.doSpellingSuggestion(directiveArg);
            System.out.println(suggestion);
          } else {
            printUsageAndExit();
          }
        } catch (GoogleSearchFault f) {
          System.out.println("The call to the Google Web APIs failed:");
          System.out.println(f.toString());
        }
      }
     
      private static void printUsageAndExit() {
        System.err.println("Usage: java " + 
                           GoogleAPIDemo.class.getName() +
                           " <client-key>" +
                           " (search <query> | cached <url> | spell <phrase>)");
        System.exit(1);
      }
    }

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut Re: [WebServices][WSDL] Utilisation (basique) de la Google A
    Salut,

    Citation Envoyé par Rom_1
    L'utilisation de ces classes est plutôt simple, mais je ne comprends pas comment faire pour utiliser ce fichier wsdl.
    En Java tu n'a pas à utiliser ce fichier WSDL. En effet ce fichier permet de décrire le service web et peut être utilisé pour générer (ou écrire) le code permettant de dialoguer avec le webservice...

    Toutefois Google propose déjà des classes pour cela c'est donc totalement inutile (cf FAQ Google : Why do you provide Java client code if it can be generated from WSDL?).

    Citation Envoyé par Rom_1
    Est-il nécessaire d'utiliser des APIs du pack WebService Developper Pack JAX-RPC et JAXB (ou d'autres APIs) pour transformer le wsdl en définitions de classes intelligibles pour le compileur java ? Ou est-ce que je suis complètement à côté de la plaque ?
    Ce doit être possible mais tu peux directement utiliser les classes fournit par Google

    Citation Envoyé par Rom_1
    Si quelqu'un pouvait m'indiquer comment compiler la classe GoogleAPIDemo fournie avec le fichier wsdl en guise d'exemple (code après la signature), je pense que ca me sortirai d'affaire ... et je lui en serais très reconnaissant .
    Il n'y a rien de particulier à faire lors de la compilation... mais il faut bien entendu que la librairie googleapi.jar soit présent dans le classpath à la compilation et à l'exécution...

    Donc en ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    javac -cp googleapi.jar:. GoogleAPIDemo.java
     
     
    java -cp googleapi.jar:. GoogleAPIDemo TA_CLEF search "mot-clefs"
    a++

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 60
    Points : 81
    Points
    81
    Par défaut
    Je ne suis qu'un jeune padawan et il me reste beaucoup à apprendre.... Long sera le chemin.

    En tous cas, MERCI !!!


    Donc si je comprends bien, le WSDP (Web Service Developper Pack) serait nécessaire pour mapper le wsdl en vraie classe java, mais Google l'a déjà fait pour moi.

    Avec le JSDK 1.4.2_06, ca marche très bien à 2 détails près : javac veut -classpath et n'accepte pas cp pour préciser le classpath (pour java c'est bon), et surtout, avec la source que j'ai donnée plus haut il faut donner le nom complet de la classe (com.google.soap.search.GoogleAPIDemo).

    Et encore une fois MERCI !!

    --
    Rom1

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 59
    Points : 52
    Points
    52
    Par défaut soap google search api
    Salut,

    je développe une application pour composer des web services. au fait, c'est l'utilisateur qui doit choisir les web services et l'ordre d'exécution de ces derniers. je dois inclure des web services de recherche dans l'annuaire, comme google search api.
    j'ai le wsdl et puis je voudrais d'abord le tester, j'ai créé les classes java pour l'invocation du service (avec wsdl2java). mais pour utiliser l'opération de recherche je dois avoir une license (paramettre Key) je la trouve pas.
    quelqu'un aurait il une idée là dessus?

    j'ai trouvé aussi ajax google search, c'est quoi la différence avec la première? est ce un service web?

    pour utiliser le moteur de recherche j'ai besoin d'un service web pas d'un jar comme api! car les utilisateurs de mon système cherchent les services existant dans un annuaire! et la composition des services je la fait en utilisant le langage BPEL?

    mes sincères considérations

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 59
    Points : 52
    Points
    52
    Par défaut
    re
    j'ai oublié de mentionné que si qulqu'un voudrait bien m'envoyé la license par mail, ça me ferait énormément plaisir.

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 52
    Points : 40
    Points
    40
    Par défaut
    Bonjour,

    Je travaille avec googleApi et j'ai pas pu avoir une clè est ce que je peux récupérer la votre? J'en ai énormément besoin.

    Merci pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation Google API dans gae-boilerplate
    Par Invité dans le forum Réseau/Web
    Réponses: 0
    Dernier message: 01/03/2013, 10h27
  2. [Flex4] Utilisation de WebService & wsdl
    Par macoute dans le forum Flex
    Réponses: 0
    Dernier message: 29/11/2011, 14h15
  3. Utilisation de labels de Google map API par défaut?
    Par wolfsman dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 06/09/2011, 13h59
  4. [Web Service] WebServices / PHP : Utilisation de deux wsdl
    Par mugen69 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 15/02/2010, 17h06
  5. (Débutant API) Utilisation de Richedit avec les APIs
    Par LibrairieSI dans le forum Windows
    Réponses: 2
    Dernier message: 10/08/2005, 16h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo