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); } }
Partager