<?xml version="1.0" ?>
<Struct type="Definitions" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:typens="http://www.prescod.net/google_search_result" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Field name="name">
    <String>
      urn:GoogleSearch
    </String>
  </Field>
  <Field name="services">
    <KeyedArray>
      <Struct type="Service">
        <Field name="documentation"/>
        <Field name="name">
          <String>
            PureXMLGoogleHTTPService
          </String>
        </Field>
        <Field name="ports">
          <KeyedArray>
            <Struct type="Port">
              <Field name="documentation"/>
              <Field name="binding">
                <String>
                  typens:PureXMLGoogleHTTPBinding
                </String>
              </Field>
              <Field name="name">
                <String>
                  GoogleHTTPPort
                </String>
              </Field>
              <Field name="extension_elements">
                <Array>
                  <LiteralXML>
                    <http:blah/>
                  </LiteralXML>
                  <LiteralXML>
                    <http:address location="http://localhost:8000/scripts/"/>
                  </LiteralXML>
                </Array>
              </Field>
            </Struct>
          </KeyedArray>
        </Field>
      </Struct>
      <Struct type="Service">
        <Field name="documentation"/>
        <Field name="name">
          <String>
            GoogleHTTPService
          </String>
        </Field>
        <Field name="ports">
          <KeyedArray>
            <Struct type="Port">
              <Field name="documentation"/>
              <Field name="binding">
                <String>
                  typens:EfficientGoogleHTTPBinding
                </String>
              </Field>
              <Field name="name">
                <String>
                  GoogleHTTPPort
                </String>
              </Field>
              <Field name="extension_elements">
                <Array>
                  <LiteralXML>
                    <http:address location="http://localhost:8000/scripts/"/>
                  </LiteralXML>
                </Array>
              </Field>
            </Struct>
          </KeyedArray>
        </Field>
      </Struct>
    </KeyedArray>
  </Field>
  <Field name="portTypes">
    <KeyedArray>
      <Struct type="PortType">
        <Field name="operations">
          <KeyedArray>
            <Struct type="PortTypeOperation">
              <Field name="output">
                <Struct type="PortTypeOperationOutput">
                  <Field name="message">
                    <String>
                      typens:doGetCachedPageResponse
                    </String>
                  </Field>
                  <Field name="documentation"/>
                  <Field name="name"/>
                </Struct>
              </Field>
              <Field name="parameterOrder"/>
              <Field name="input">
                <Struct type="PortTypeOperationInput">
                  <Field name="message">
                    <String>
                      typens:doGetCachedPage
                    </String>
                  </Field>
                  <Field name="documentation"/>
                  <Field name="name"/>
                </Struct>
              </Field>
              <Field name="fault"/>
              <Field name="documentation">
                <LiteralXML>
                  <wsdl:documentation>
                    Get Cached Page
                  </wsdl:documentation>
                </LiteralXML>
              </Field>
              <Field name="name">
                <String>
                  doGetCachedPage
                </String>
              </Field>
            </Struct>
            <Struct type="PortTypeOperation">
              <Field name="output">
                <Struct type="PortTypeOperationOutput">
                  <Field name="message">
                    <String>
                      typens:doSpellingSuggestionResponse
                    </String>
                  </Field>
                  <Field name="documentation"/>
                  <Field name="name"/>
                </Struct>
              </Field>
              <Field name="parameterOrder"/>
              <Field name="input">
                <Struct type="PortTypeOperationInput">
                  <Field name="message">
                    <String>
                      typens:doSpellingSuggestion
                    </String>
                  </Field>
                  <Field name="documentation"/>
                  <Field name="name"/>
                </Struct>
              </Field>
              <Field name="fault"/>
              <Field name="documentation"/>
              <Field name="name">
                <String>
                  doSpellingSuggestion
                </String>
              </Field>
            </Struct>
            <Struct type="PortTypeOperation">
              <Field name="output">
                <Struct type="PortTypeOperationOutput">
                  <Field name="message">
                    <String>
                      typens:doGoogleSearchResponse
                    </String>
                  </Field>
                  <Field name="documentation"/>
                  <Field name="name"/>
                </Struct>
              </Field>
              <Field name="parameterOrder"/>
              <Field name="input">
                <Struct type="PortTypeOperationInput">
                  <Field name="message">
                    <String>
                      typens:doGoogleSearch
                    </String>
                  </Field>
                  <Field name="documentation"/>
                  <Field name="name"/>
                </Struct>
              </Field>
              <Field name="fault"/>
              <Field name="documentation"/>
              <Field name="name">
                <String>
                  doGoogleSearch
                </String>
              </Field>
            </Struct>
          </KeyedArray>
        </Field>
        <Field name="name">
          <String>
            GoogleSearchPort
          </String>
        </Field>
      </Struct>
    </KeyedArray>
  </Field>
  <Field name="bindings">
    <KeyedArray>
      <Struct type="Binding">
        <Field name="operations">
          <KeyedArray>
            <Struct type="OperationBinding">
              <Field name="output">
                <Struct type="OperationBindingOutput">
                  <Field name="documentation"/>
                  <Field name="name"/>
                  <Field name="extension_elements">
                    <Array>
                      <LiteralXML>
                        <mime:mimeXml part="return"/>
                      </LiteralXML>
                    </Array>
                  </Field>
                </Struct>
              </Field>
              <Field name="name">
                <String>
                  doGetCachedPage
                </String>
              </Field>
              <Field name="input">
                <Struct type="OperationBindingInput">
                  <Field name="documentation"/>
                  <Field name="name"/>
                  <Field name="extension_elements">
                    <Array>
                      <LiteralXML>
                        <http:urlEncoded/>
                      </LiteralXML>
                    </Array>
                  </Field>
                </Struct>
              </Field>
              <Field name="fault"/>
              <Field name="documentation"/>
              <Field name="extension_elements">
                <Array>
                  <LiteralXML>
                    <http:operation location="/cachedpage_pure_xml.py"/>
                  </LiteralXML>
                </Array>
              </Field>
            </Struct>
            <Struct type="OperationBinding">
              <Field name="output">
                <Struct type="OperationBindingOutput">
                  <Field name="documentation"/>
                  <Field name="name"/>
                  <Field name="extension_elements">
                    <Array>
                      <LiteralXML>
                        <mime:mimeXml part="return"/>
                      </LiteralXML>
                    </Array>
                  </Field>
                </Struct>
              </Field>
              <Field name="name">
                <String>
                  doSpellingSuggestion
                </String>
              </Field>
              <Field name="input">
                <Struct type="OperationBindingInput">
                  <Field name="documentation"/>
                  <Field name="name"/>
                  <Field name="extension_elements">
                    <Array>
                      <LiteralXML>
                        <http:urlEncoded/>
                      </LiteralXML>
                    </Array>
                  </Field>
                </Struct>
              </Field>
              <Field name="fault"/>
              <Field name="documentation"/>
              <Field name="extension_elements">
                <Array>
                  <LiteralXML>
                    <http:operation location="/spelling_suggestion_pure_xml.py"/>
                  </LiteralXML>
                </Array>
              </Field>
            </Struct>
            <Struct type="OperationBinding">
              <Field name="output">
                <Struct type="OperationBindingOutput">
                  <Field name="documentation"/>
                  <Field name="name"/>
                  <Field name="extension_elements">
                    <Array>
                      <LiteralXML>
                        <mime:mimeXml part="return"/>
                      </LiteralXML>
                    </Array>
                  </Field>
                </Struct>
              </Field>
              <Field name="name">
                <String>
                  doGoogleSearch
                </String>
              </Field>
              <Field name="input">
                <Struct type="OperationBindingInput">
                  <Field name="documentation"/>
                  <Field name="name"/>
                  <Field name="extension_elements">
                    <Array>
                      <LiteralXML>
                        <http:urlEncoded/>
                      </LiteralXML>
                    </Array>
                  </Field>
                </Struct>
              </Field>
              <Field name="fault"/>
              <Field name="documentation"/>
              <Field name="extension_elements">
                <Array>
                  <LiteralXML>
                    <http:operation location="/search.py"/>
                  </LiteralXML>
                </Array>
              </Field>
            </Struct>
          </KeyedArray>
        </Field>
        <Field name="name">
          <String>
            PureXMLGoogleHTTPBinding
          </String>
        </Field>
        <Field name="portTypes">
          <KeyedArray>
            []
          </KeyedArray>
        </Field>
        <Field name="documentation"/>
        <Field name="type">
          <String>
            typens:GoogleSearchPort
          </String>
        </Field>
        <Field name="extension_elements">
          <Array>
            <LiteralXML>
              <http:binding verb="GET"/>
            </LiteralXML>
          </Array>
        </Field>
      </Struct>
      <Struct type="Binding">
        <Field name="operations">
          <KeyedArray>
            <Struct type="OperationBinding">
              <Field name="output">
                <Struct type="OperationBindingOutput">
                  <Field name="documentation"/>
                  <Field name="name"/>
                  <Field name="extension_elements">
                    <Array>
                      <LiteralXML>
                        <mime:mimeXml part="return"/>
                      </LiteralXML>
                    </Array>
                  </Field>
                </Struct>
              </Field>
              <Field name="name">
                <String>
                  doGetCachedPage
                </String>
              </Field>
              <Field name="input">
                <Struct type="OperationBindingInput">
                  <Field name="documentation"/>
                  <Field name="name"/>
                  <Field name="extension_elements">
                    <Array>
                      <LiteralXML>
                        <http:urlEncoded/>
                      </LiteralXML>
                    </Array>
                  </Field>
                </Struct>
              </Field>
              <Field name="fault"/>
              <Field name="documentation">
                <LiteralXML>
                  <wsdl:documentation>
                    Get Cached Page
                  </wsdl:documentation>
                </LiteralXML>
              </Field>
              <Field name="extension_elements">
                <Array>
                  <LiteralXML>
                    <http:operation location="/cachedpage.py"/>
                  </LiteralXML>
                </Array>
              </Field>
            </Struct>
            <Struct type="OperationBinding">
              <Field name="output">
                <Struct type="OperationBindingOutput">
                  <Field name="documentation"/>
                  <Field name="name"/>
                  <Field name="extension_elements">
                    <Array>
                      <LiteralXML>
                        <mime:mimeXml part="return"/>
                      </LiteralXML>
                    </Array>
                  </Field>
                </Struct>
              </Field>
              <Field name="name">
                <String>
                  doSpellingSuggestion
                </String>
              </Field>
              <Field name="input">
                <Struct type="OperationBindingInput">
                  <Field name="documentation"/>
                  <Field name="name"/>
                  <Field name="extension_elements">
                    <Array>
                      <LiteralXML>
                        <http:urlEncoded/>
                      </LiteralXML>
                    </Array>
                  </Field>
                </Struct>
              </Field>
              <Field name="fault"/>
              <Field name="documentation"/>
              <Field name="extension_elements">
                <Array>
                  <LiteralXML>
                    <http:operation location="/spelling_suggestion.py"/>
                  </LiteralXML>
                </Array>
              </Field>
            </Struct>
            <Struct type="OperationBinding">
              <Field name="output">
                <Struct type="OperationBindingOutput">
                  <Field name="documentation"/>
                  <Field name="name"/>
                  <Field name="extension_elements">
                    <Array>
                      <LiteralXML>
                        <mime:mimeXml part="return"/>
                      </LiteralXML>
                    </Array>
                  </Field>
                </Struct>
              </Field>
              <Field name="name">
                <String>
                  doGoogleSearch
                </String>
              </Field>
              <Field name="input">
                <Struct type="OperationBindingInput">
                  <Field name="documentation"/>
                  <Field name="name"/>
                  <Field name="extension_elements">
                    <Array>
                      <LiteralXML>
                        <http:urlEncoded/>
                      </LiteralXML>
                    </Array>
                  </Field>
                </Struct>
              </Field>
              <Field name="fault"/>
              <Field name="documentation"/>
              <Field name="extension_elements">
                <Array>
                  <LiteralXML>
                    <http:operation location="/search.py"/>
                  </LiteralXML>
                </Array>
              </Field>
            </Struct>
          </KeyedArray>
        </Field>
        <Field name="name">
          <String>
            EfficientGoogleHTTPBinding
          </String>
        </Field>
        <Field name="portTypes">
          <KeyedArray>
            []
          </KeyedArray>
        </Field>
        <Field name="documentation"/>
        <Field name="type">
          <String>
            typens:GoogleSearchPort
          </String>
        </Field>
        <Field name="extension_elements">
          <Array>
            <LiteralXML>
              <http:binding verb="GET"/>
            </LiteralXML>
          </Array>
        </Field>
      </Struct>
    </KeyedArray>
  </Field>
  <Field name="targetNamespace">
    <String>
      http://www.prescod.net/google_search_result
    </String>
  </Field>
  <Field name="messages">
    <KeyedArray>
      <Struct type="Message">
        <Field name="parts">
          <KeyedArray>
            <Struct type="Part">
              <Field name="documentation"/>
              <Field name="type">
                <String>
                  xsd:string
                </String>
              </Field>
              <Field name="name">
                <String>
                  key
                </String>
              </Field>
              <Field name="element"/>
            </Struct>
            <Struct type="Part">
              <Field name="documentation"/>
              <Field name="type">
                <String>
                  xsd:string
                </String>
              </Field>
              <Field name="name">
                <String>
                  url
                </String>
              </Field>
              <Field name="element"/>
            </Struct>
          </KeyedArray>
        </Field>
        <Field name="name">
          <String>
            doGetCachedPage
          </String>
        </Field>
      </Struct>
      <Struct type="Message">
        <Field name="parts">
          <KeyedArray>
            <Struct type="Part">
              <Field name="documentation"/>
              <Field name="type"/>
              <Field name="name">
                <String>
                  return
                </String>
              </Field>
              <Field name="element">
                <String>
                  typens:base64Binary
                </String>
              </Field>
            </Struct>
          </KeyedArray>
        </Field>
        <Field name="name">
          <String>
            doGetCachedPageResponse
          </String>
        </Field>
      </Struct>
      <Struct type="Message">
        <Field name="parts">
          <KeyedArray>
            <Struct type="Part">
              <Field name="documentation"/>
              <Field name="type">
                <String>
                  xsd:string
                </String>
              </Field>
              <Field name="name">
                <String>
                  key
                </String>
              </Field>
              <Field name="element"/>
            </Struct>
            <Struct type="Part">
              <Field name="documentation"/>
              <Field name="type">
                <String>
                  xsd:string
                </String>
              </Field>
              <Field name="name">
                <String>
                  phrase
                </String>
              </Field>
              <Field name="element"/>
            </Struct>
          </KeyedArray>
        </Field>
        <Field name="name">
          <String>
            doSpellingSuggestion
          </String>
        </Field>
      </Struct>
      <Struct type="Message">
        <Field name="parts">
          <KeyedArray>
            <Struct type="Part">
              <Field name="documentation"/>
              <Field name="type"/>
              <Field name="name">
                <String>
                  return
                </String>
              </Field>
              <Field name="element">
                <String>
                  typens:string
                </String>
              </Field>
            </Struct>
          </KeyedArray>
        </Field>
        <Field name="name">
          <String>
            doSpellingSuggestionResponse
          </String>
        </Field>
      </Struct>
      <Struct type="Message">
        <Field name="parts">
          <KeyedArray>
            <Struct type="Part">
              <Field name="documentation"/>
              <Field name="type">
                <String>
                  xsd:string
                </String>
              </Field>
              <Field name="name">
                <String>
                  key
                </String>
              </Field>
              <Field name="element"/>
            </Struct>
            <Struct type="Part">
              <Field name="documentation"/>
              <Field name="type">
                <String>
                  xsd:string
                </String>
              </Field>
              <Field name="name">
                <String>
                  q
                </String>
              </Field>
              <Field name="element"/>
            </Struct>
            <Struct type="Part">
              <Field name="documentation"/>
              <Field name="type">
                <String>
                  xsd:int
                </String>
              </Field>
              <Field name="name">
                <String>
                  start
                </String>
              </Field>
              <Field name="element"/>
            </Struct>
            <Struct type="Part">
              <Field name="documentation"/>
              <Field name="type">
                <String>
                  xsd:int
                </String>
              </Field>
              <Field name="name">
                <String>
                  maxResults
                </String>
              </Field>
              <Field name="element"/>
            </Struct>
            <Struct type="Part">
              <Field name="documentation"/>
              <Field name="type">
                <String>
                  xsd:boolean
                </String>
              </Field>
              <Field name="name">
                <String>
                  filter
                </String>
              </Field>
              <Field name="element"/>
            </Struct>
            <Struct type="Part">
              <Field name="documentation"/>
              <Field name="type">
                <String>
                  xsd:string
                </String>
              </Field>
              <Field name="name">
                <String>
                  restrict
                </String>
              </Field>
              <Field name="element"/>
            </Struct>
            <Struct type="Part">
              <Field name="documentation"/>
              <Field name="type">
                <String>
                  xsd:boolean
                </String>
              </Field>
              <Field name="name">
                <String>
                  safeSearch
                </String>
              </Field>
              <Field name="element"/>
            </Struct>
            <Struct type="Part">
              <Field name="documentation"/>
              <Field name="type">
                <String>
                  xsd:string
                </String>
              </Field>
              <Field name="name">
                <String>
                  lr
                </String>
              </Field>
              <Field name="element"/>
            </Struct>
            <Struct type="Part">
              <Field name="documentation"/>
              <Field name="type">
                <String>
                  xsd:string
                </String>
              </Field>
              <Field name="name">
                <String>
                  ie
                </String>
              </Field>
              <Field name="element"/>
            </Struct>
            <Struct type="Part">
              <Field name="documentation"/>
              <Field name="type">
                <String>
                  xsd:string
                </String>
              </Field>
              <Field name="name">
                <String>
                  oe
                </String>
              </Field>
              <Field name="element"/>
            </Struct>
          </KeyedArray>
        </Field>
        <Field name="name">
          <String>
            doGoogleSearch
          </String>
        </Field>
      </Struct>
      <Struct type="Message">
        <Field name="parts">
          <KeyedArray>
            <Struct type="Part">
              <Field name="documentation"/>
              <Field name="type"/>
              <Field name="name">
                <String>
                  return
                </String>
              </Field>
              <Field name="element">
                <String>
                  typens:searchResult
                </String>
              </Field>
            </Struct>
          </KeyedArray>
        </Field>
        <Field name="name">
          <String>
            doGoogleSearchResponse
          </String>
        </Field>
      </Struct>
    </KeyedArray>
  </Field>
  <Field name="types">
    <LiteralXML>
      <wsdl:types>
        <xsd:schema targetNamespace="http://www.prescod.net/google_search_result">
          <xsd:complexType name="GoogleSearchResult">
            <xsd:all>
              <xsd:element name="documentFiltering" type="xsd:boolean"/>
              <xsd:element name="searchComments" type="xsd:string"/>
              <xsd:element name="estimatedTotalResultsCount" type="xsd:int"/>
              <xsd:element name="estimateIsExact" type="xsd:boolean"/>
              <xsd:element name="resultElements" type="typens:ResultElementArray"/>
              <xsd:element name="searchQuery" type="xsd:string"/>
              <xsd:element name="startIndex" type="xsd:int"/>
              <xsd:element name="endIndex" type="xsd:int"/>
              <xsd:element name="searchTips" type="xsd:string"/>
              <xsd:element name="directoryCategories" type="typens:DirectoryCategoryArray"/>
              <xsd:element name="searchTime" type="xsd:double"/>
            </xsd:all>
          </xsd:complexType>
          <xsd:complexType name="ResultElement">
            <xsd:all>
              <xsd:element name="summary" type="xsd:string"/>
              <xsd:element name="URL" type="xsd:string"/>
              <xsd:element name="snippet" type="xsd:string"/>
              <xsd:element name="title" type="xsd:string"/>
              <xsd:element name="cachedSize" type="xsd:string"/>
              <xsd:element name="relatedInformationPresent" type="xsd:boolean"/>
              <xsd:element name="hostName" type="xsd:string"/>
              <xsd:element name="directoryCategory" type="typens:DirectoryCategory"/>
              <xsd:element name="directoryTitle" type="xsd:string"/>
            </xsd:all>
          </xsd:complexType>
          <xsd:complexType name="ResultElementArray">
            <xsd:sequence>
              <xsd:element maxOccurrs="unbounded" name="item" type="typens:ResultElement"/>
            </xsd:sequence>
          </xsd:complexType>
          <xsd:complexType name="DirectoryCategoryArray">
            <xsd:sequence>
              <xsd:element maxOccurrs="unbounded" name="directoryCategory" type="typens:DirectoryCategory"/>
            </xsd:sequence>
          </xsd:complexType>
          <xsd:complexType name="DirectoryCategory">
            <xsd:all>
              <xsd:element name="fullViewableName" type="xsd:string"/>
              <xsd:element name="specialEncoding" type="xsd:string"/>
            </xsd:all>
          </xsd:complexType>
          <xsd:element name="base64Binary" type="xsd:base64Binary"/>
          <xsd:element name="string" type="xsd:string"/>
          <xsd:element name="searchResult" type="typens:GoogleSearchResult"/>
        </xsd:schema>
      </wsdl:types>
    </LiteralXML>
  </Field>
</Struct>
