1<?xml version="1.0"?>
2
3<!-- WSDL description of the Google Web APIs.
4     The Google Web APIs are in beta release. All interfaces are subject to
5     change as we refine and extend our APIs. Please see the terms of use
6     for more information. -->
7
8<!-- Revision 2002-08-16 -->
9
10<definitions name="GoogleSearch"
11             targetNamespace="urn:GoogleSearch"
12             xmlns:typens="urn:GoogleSearch"
13             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
14             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
15             xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
16             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
17             xmlns="http://schemas.xmlsoap.org/wsdl/">
18
19  <!-- Types for search - result elements, directory categories -->
20
21  <types>
22    <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
23                targetNamespace="urn:GoogleSearch">
24
25      <xsd:complexType name="GoogleSearchResult">
26        <xsd:all>
27          <xsd:element name="documentFiltering"           type="xsd:boolean"/>
28          <xsd:element name="searchComments"              type="xsd:string"/>
29          <xsd:element name="estimatedTotalResultsCount"  type="xsd:int"/>
30          <xsd:element name="estimateIsExact"             type="xsd:boolean"/>
31          <xsd:element name="resultElements"              type="typens:ResultElementArray"/>
32          <xsd:element name="searchQuery"                 type="xsd:string"/>
33          <xsd:element name="startIndex"                  type="xsd:int"/>
34          <xsd:element name="endIndex"                    type="xsd:int"/>
35          <xsd:element name="searchTips"                  type="xsd:string"/>
36          <xsd:element name="directoryCategories"         type="typens:DirectoryCategoryArray"/>
37          <xsd:element name="searchTime"                  type="xsd:double"/>
38        </xsd:all>
39      </xsd:complexType>
40
41      <xsd:complexType name="ResultElement">
42        <xsd:all>
43          <xsd:element name="summary" type="xsd:string"/>
44          <xsd:element name="URL" type="xsd:string"/>
45          <xsd:element name="snippet" type="xsd:string"/>
46          <xsd:element name="title" type="xsd:string"/>
47          <xsd:element name="cachedSize" type="xsd:string"/>
48          <xsd:element name="relatedInformationPresent" type="xsd:boolean"/>
49          <xsd:element name="hostName" type="xsd:string"/>
50          <xsd:element name="directoryCategory" type="typens:DirectoryCategory"/>
51          <xsd:element name="directoryTitle" type="xsd:string"/>
52        </xsd:all>
53      </xsd:complexType>
54
55      <xsd:complexType name="ResultElementArray">
56        <xsd:complexContent>
57          <xsd:restriction base="soapenc:Array">
58             <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:ResultElement[]"/>
59          </xsd:restriction>
60        </xsd:complexContent>
61      </xsd:complexType>
62
63      <xsd:complexType name="DirectoryCategoryArray">
64        <xsd:complexContent>
65          <xsd:restriction base="soapenc:Array">
66             <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:DirectoryCategory[]"/>
67          </xsd:restriction>
68        </xsd:complexContent>
69      </xsd:complexType>
70
71      <xsd:complexType name="DirectoryCategory">
72        <xsd:all>
73          <xsd:element name="fullViewableName" type="xsd:string"/>
74          <xsd:element name="specialEncoding" type="xsd:string"/>
75        </xsd:all>
76      </xsd:complexType>
77
78    </xsd:schema>
79  </types>
80
81  <!-- Messages for Google Web APIs - cached page, search, spelling. -->
82
83  <message name="doGetCachedPage">
84    <part name="key"            type="xsd:string"/>
85    <part name="url"            type="xsd:string"/>
86  </message>
87
88  <message name="doGetCachedPageResponse">
89    <part name="return"         type="xsd:base64Binary"/>
90  </message>
91
92  <message name="doSpellingSuggestion">
93    <part name="key"            type="xsd:string"/>
94    <part name="phrase"         type="xsd:string"/>
95  </message>
96
97  <message name="doSpellingSuggestionResponse">
98    <part name="return"         type="xsd:string"/>
99  </message>
100
101  <!-- note, ie and oe are ignored by server; all traffic is UTF-8. -->
102
103  <message name="doGoogleSearch">
104    <part name="key"            type="xsd:string"/>
105    <part name="q"              type="xsd:string"/>
106    <part name="start"          type="xsd:int"/>
107    <part name="maxResults"     type="xsd:int"/>
108    <part name="filter"         type="xsd:boolean"/>
109    <part name="restrict"       type="xsd:string"/>
110    <part name="safeSearch"     type="xsd:boolean"/>
111    <part name="lr"             type="xsd:string"/>
112    <part name="ie"             type="xsd:string"/>
113    <part name="oe"             type="xsd:string"/>
114  </message>
115
116  <message name="doGoogleSearchResponse">
117    <part name="return"         type="typens:GoogleSearchResult"/>
118  </message>
119
120  <!-- Port for Google Web APIs, "GoogleSearch" -->
121
122  <portType name="GoogleSearchPort">
123
124    <operation name="doGetCachedPage">
125      <input message="typens:doGetCachedPage"/>
126      <output message="typens:doGetCachedPageResponse"/>
127    </operation>
128
129    <operation name="doSpellingSuggestion">
130      <input message="typens:doSpellingSuggestion"/>
131      <output message="typens:doSpellingSuggestionResponse"/>
132    </operation>
133
134    <operation name="doGoogleSearch">
135      <input message="typens:doGoogleSearch"/>
136      <output message="typens:doGoogleSearchResponse"/>
137    </operation>
138
139  </portType>
140
141
142  <!-- Binding for Google Web APIs - RPC, SOAP over HTTP -->
143
144  <binding name="GoogleSearchBinding" type="typens:GoogleSearchPort">
145    <soap:binding style="rpc"
146                  transport="http://schemas.xmlsoap.org/soap/http"/>
147
148    <operation name="doGetCachedPage">
149      <soap:operation soapAction="urn:GoogleSearchAction"/>
150      <input>
151        <soap:body use="encoded"
152                   namespace="urn:GoogleSearch"
153                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
154      </input>
155      <output>
156        <soap:body use="encoded"
157                   namespace="urn:GoogleSearch"
158                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
159      </output>
160    </operation>
161
162    <operation name="doSpellingSuggestion">
163      <soap:operation soapAction="urn:GoogleSearchAction"/>
164      <input>
165        <soap:body use="encoded"
166                   namespace="urn:GoogleSearch"
167                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
168      </input>
169      <output>
170        <soap:body use="encoded"
171                   namespace="urn:GoogleSearch"
172                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
173      </output>
174    </operation>
175
176    <operation name="doGoogleSearch">
177      <soap:operation soapAction="urn:GoogleSearchAction"/>
178      <input>
179        <soap:body use="encoded"
180                   namespace="urn:GoogleSearch"
181                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
182      </input>
183      <output>
184        <soap:body use="encoded"
185                   namespace="urn:GoogleSearch"
186                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
187      </output>
188    </operation>
189  </binding>
190
191  <!-- Endpoint for Google Web APIs -->
192  <service name="GoogleSearchService">
193    <port name="GoogleSearchPort" binding="typens:GoogleSearchBinding">
194      <soap:address location="http://api.google.com/search/beta2"/>
195    </port>
196  </service>
197
198</definitions>
199