<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.openarchives.org/OAI/2.0/" xmlns:s1="http://www.openarchives.org/OAI/2.0/AbstractTypes" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.openarchives.org/OAI/2.0/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://www.openarchives.org/OAI/2.0/">
      <s:element name="Identify">
        <s:complexType />
      </s:element>
      <s:element name="IdentifyResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="OAI-PMH" type="tns:OAI-PMHtype" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="OAI-PMHtype">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="responseDate" type="s:dateTime" />
          <s:element minOccurs="0" maxOccurs="1" name="request" type="tns:requestType" />
          <s:choice minOccurs="0" maxOccurs="unbounded">
            <s:element minOccurs="0" maxOccurs="1" name="error" type="tns:OAI-PMHerrorType" />
            <s:element minOccurs="0" maxOccurs="1" name="Identify" type="tns:IdentifyType" />
            <s:element minOccurs="0" maxOccurs="1" name="ListMetadataFormats" type="tns:ArrayOfMetadataFormat" />
            <s:element minOccurs="0" maxOccurs="1" name="ListSets" type="tns:ListSetsType" />
            <s:element minOccurs="0" maxOccurs="1" name="GetRecord" type="tns:GetRecordType" />
            <s:element minOccurs="0" maxOccurs="1" name="ListIdentifiers" type="tns:ListIdentifiersType" />
            <s:element minOccurs="0" maxOccurs="1" name="ListRecords" type="tns:ListRecordsType" />
          </s:choice>
        </s:sequence>
        <s:attribute name="schemaLocation" type="s:string" />
      </s:complexType>
      <s:complexType name="requestType">
        <s:simpleContent>
          <s:extension base="s:anyURI">
            <s:attribute form="unqualified" name="verb" type="tns:verbType" />
            <s:attribute form="unqualified" name="identifier" type="s:anyURI" />
            <s:attribute form="unqualified" name="metadataPrefix" type="s:string" />
            <s:attribute form="unqualified" name="from" type="s:string" />
            <s:attribute form="unqualified" name="until" type="s:string" />
            <s:attribute form="unqualified" name="set" type="s:string" />
            <s:attribute form="unqualified" name="resumptionToken" type="s:string" />
          </s:extension>
        </s:simpleContent>
      </s:complexType>
      <s:simpleType name="verbType">
        <s:restriction base="s:string">
          <s:enumeration value="Identify" />
          <s:enumeration value="ListMetadataFormats" />
          <s:enumeration value="ListSets" />
          <s:enumeration value="GetRecord" />
          <s:enumeration value="ListIdentifiers" />
          <s:enumeration value="ListRecords" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="OAI-PMHerrorType">
        <s:simpleContent>
          <s:extension base="s:string">
            <s:attribute form="unqualified" name="code" type="tns:OAI-PMHerrorcodeType" use="required" />
          </s:extension>
        </s:simpleContent>
      </s:complexType>
      <s:simpleType name="OAI-PMHerrorcodeType">
        <s:restriction base="s:string">
          <s:enumeration value="cannotDisseminateFormat" />
          <s:enumeration value="idDoesNotExist" />
          <s:enumeration value="badArgument" />
          <s:enumeration value="badVerb" />
          <s:enumeration value="noMetadataFormats" />
          <s:enumeration value="noRecordsMatch" />
          <s:enumeration value="badResumptionToken" />
          <s:enumeration value="noSetHierarchy" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="IdentifyType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="repositoryName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="baseURL" type="s:anyURI" />
          <s:element minOccurs="1" maxOccurs="1" name="protocolVersion" type="tns:IdentifyTypeProtocolVersion" />
          <s:element minOccurs="0" maxOccurs="unbounded" name="adminEmail" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="earliestDatestamp" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="deletedRecord" type="tns:deletedRecordType" />
          <s:element minOccurs="1" maxOccurs="1" name="granularity" type="tns:granularityType" />
          <s:element minOccurs="0" maxOccurs="unbounded" name="compression" type="s:string" />
          <s:element minOccurs="0" maxOccurs="unbounded" name="description">
            <s:complexType>
              <s:sequence>
                <s:any />
              </s:sequence>
            </s:complexType>
          </s:element>
        </s:sequence>
      </s:complexType>
      <s:simpleType name="IdentifyTypeProtocolVersion">
        <s:restriction base="s:string">
          <s:enumeration value="2.0" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="deletedRecordType">
        <s:restriction base="s:string">
          <s:enumeration value="no" />
          <s:enumeration value="persistent" />
          <s:enumeration value="transient" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="granularityType">
        <s:restriction base="s:string">
          <s:enumeration value="YYYY-MM-DD" />
          <s:enumeration value="YYYY-MM-DDThh:mm:ssZ" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="ArrayOfMetadataFormat">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="metadataFormat" nillable="true" type="tns:metadataFormat" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="metadataFormat">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="metadataPrefix" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="schema" type="s:anyURI" />
          <s:element minOccurs="0" maxOccurs="1" name="metadataNamespace" type="s:anyURI" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ListSetsType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="set" type="tns:setType" />
          <s:element minOccurs="0" maxOccurs="1" name="resumptionToken" type="tns:resumptionTokenType" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="setType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="setSpec" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="setName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="unbounded" name="setDescription">
            <s:complexType>
              <s:sequence>
                <s:any />
              </s:sequence>
            </s:complexType>
          </s:element>
        </s:sequence>
      </s:complexType>
      <s:complexType name="resumptionTokenType">
        <s:simpleContent>
          <s:extension base="s:string">
            <s:attribute form="unqualified" name="expirationDate" type="s:dateTime" />
            <s:attribute form="unqualified" name="completeListSize" type="s:positiveInteger" />
            <s:attribute form="unqualified" name="cursor" type="s:nonNegativeInteger" />
          </s:extension>
        </s:simpleContent>
      </s:complexType>
      <s:complexType name="GetRecordType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="record" type="tns:recordType" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="recordType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="header" type="tns:headerType" />
          <s:element minOccurs="0" maxOccurs="1" name="metadata">
            <s:complexType>
              <s:sequence>
                <s:any />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element minOccurs="0" maxOccurs="unbounded" name="about">
            <s:complexType>
              <s:sequence>
                <s:any />
              </s:sequence>
            </s:complexType>
          </s:element>
        </s:sequence>
      </s:complexType>
      <s:complexType name="headerType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="identifier" type="s:anyURI" />
          <s:element minOccurs="0" maxOccurs="1" name="datestamp" type="s:string" />
          <s:element minOccurs="0" maxOccurs="unbounded" name="setSpec" type="s:string" />
        </s:sequence>
        <s:attribute form="unqualified" name="status" type="tns:statusType" />
      </s:complexType>
      <s:simpleType name="statusType">
        <s:restriction base="s:string">
          <s:enumeration value="okay" />
          <s:enumeration value="deleted" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="ListIdentifiersType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="header" type="tns:headerType" />
          <s:element minOccurs="0" maxOccurs="1" name="resumptionToken" type="tns:resumptionTokenType" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ListRecordsType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="record" type="tns:recordType" />
          <s:element minOccurs="0" maxOccurs="1" name="resumptionToken" type="tns:resumptionTokenType" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetRecord">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="identifier" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="metadataPrefix" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetRecordResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="OAI-PMH" type="tns:OAI-PMHtype" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ListIdentifiers">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="metadataPrefix" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="from" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="until" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="set" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="resumptionToken" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ListIdentifiersResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="OAI-PMH" type="tns:OAI-PMHtype" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ListRecords">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="from" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="metadataPrefix" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="until" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="set" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="resumptionToken" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ListRecordsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="OAI-PMH" type="tns:OAI-PMHtype" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ListMetadataFormats">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="identifier" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ListMetadataFormatsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="OAI-PMH" type="tns:OAI-PMHtype" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ListSets">
        <s:complexType />
      </s:element>
      <s:element name="ListSetsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="OAI-PMH" type="tns:OAI-PMHtype" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="makeBadVerb">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="str" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="makeBadVerbResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="OAI-PMH" type="tns:OAI-PMHtype" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="makeBadArg">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="str" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="makeBadArgResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="OAI-PMH" type="tns:OAI-PMHtype" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="makeMultipleErrors">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="errorTypes" type="tns:ArrayOfString" />
            <s:element minOccurs="0" maxOccurs="1" name="errorValues" type="tns:ArrayOfString" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfString">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="makeMultipleErrorsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="OAI-PMH" type="tns:OAI-PMHtype" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="OAI-PMH" type="tns:OAI-PMHtype" />
    </s:schema>
    <s:schema targetNamespace="http://www.openarchives.org/OAI/2.0/AbstractTypes">
      <s:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
      <s:complexType name="StringArray">
        <s:complexContent mixed="false">
          <s:restriction base="soapenc:Array">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="String" type="s:string" />
            </s:sequence>
          </s:restriction>
        </s:complexContent>
      </s:complexType>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="IdentifySoapIn">
    <wsdl:part name="parameters" element="tns:Identify" />
  </wsdl:message>
  <wsdl:message name="IdentifySoapOut">
    <wsdl:part name="parameters" element="tns:IdentifyResponse" />
  </wsdl:message>
  <wsdl:message name="GetRecordSoapIn">
    <wsdl:part name="parameters" element="tns:GetRecord" />
  </wsdl:message>
  <wsdl:message name="GetRecordSoapOut">
    <wsdl:part name="parameters" element="tns:GetRecordResponse" />
  </wsdl:message>
  <wsdl:message name="ListIdentifiersSoapIn">
    <wsdl:part name="parameters" element="tns:ListIdentifiers" />
  </wsdl:message>
  <wsdl:message name="ListIdentifiersSoapOut">
    <wsdl:part name="parameters" element="tns:ListIdentifiersResponse" />
  </wsdl:message>
  <wsdl:message name="ListRecordsSoapIn">
    <wsdl:part name="parameters" element="tns:ListRecords" />
  </wsdl:message>
  <wsdl:message name="ListRecordsSoapOut">
    <wsdl:part name="parameters" element="tns:ListRecordsResponse" />
  </wsdl:message>
  <wsdl:message name="ListMetadataFormatsSoapIn">
    <wsdl:part name="parameters" element="tns:ListMetadataFormats" />
  </wsdl:message>
  <wsdl:message name="ListMetadataFormatsSoapOut">
    <wsdl:part name="parameters" element="tns:ListMetadataFormatsResponse" />
  </wsdl:message>
  <wsdl:message name="ListSetsSoapIn">
    <wsdl:part name="parameters" element="tns:ListSets" />
  </wsdl:message>
  <wsdl:message name="ListSetsSoapOut">
    <wsdl:part name="parameters" element="tns:ListSetsResponse" />
  </wsdl:message>
  <wsdl:message name="makeBadVerbSoapIn">
    <wsdl:part name="parameters" element="tns:makeBadVerb" />
  </wsdl:message>
  <wsdl:message name="makeBadVerbSoapOut">
    <wsdl:part name="parameters" element="tns:makeBadVerbResponse" />
  </wsdl:message>
  <wsdl:message name="makeBadArgSoapIn">
    <wsdl:part name="parameters" element="tns:makeBadArg" />
  </wsdl:message>
  <wsdl:message name="makeBadArgSoapOut">
    <wsdl:part name="parameters" element="tns:makeBadArgResponse" />
  </wsdl:message>
  <wsdl:message name="makeMultipleErrorsSoapIn">
    <wsdl:part name="parameters" element="tns:makeMultipleErrors" />
  </wsdl:message>
  <wsdl:message name="makeMultipleErrorsSoapOut">
    <wsdl:part name="parameters" element="tns:makeMultipleErrorsResponse" />
  </wsdl:message>
  <wsdl:message name="IdentifyHttpGetIn" />
  <wsdl:message name="IdentifyHttpGetOut">
    <wsdl:part name="Body" element="tns:OAI-PMH" />
  </wsdl:message>
  <wsdl:message name="GetRecordHttpGetIn">
    <wsdl:part name="identifier" type="s:string" />
    <wsdl:part name="metadataPrefix" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetRecordHttpGetOut">
    <wsdl:part name="Body" element="tns:OAI-PMH" />
  </wsdl:message>
  <wsdl:message name="ListIdentifiersHttpGetIn">
    <wsdl:part name="metadataPrefix" type="s:string" />
    <wsdl:part name="from" type="s:string" />
    <wsdl:part name="until" type="s:string" />
    <wsdl:part name="set" type="s:string" />
    <wsdl:part name="resumptionToken" type="s:string" />
  </wsdl:message>
  <wsdl:message name="ListIdentifiersHttpGetOut">
    <wsdl:part name="Body" element="tns:OAI-PMH" />
  </wsdl:message>
  <wsdl:message name="ListRecordsHttpGetIn">
    <wsdl:part name="from" type="s:string" />
    <wsdl:part name="metadataPrefix" type="s:string" />
    <wsdl:part name="until" type="s:string" />
    <wsdl:part name="set" type="s:string" />
    <wsdl:part name="resumptionToken" type="s:string" />
  </wsdl:message>
  <wsdl:message name="ListRecordsHttpGetOut">
    <wsdl:part name="Body" element="tns:OAI-PMH" />
  </wsdl:message>
  <wsdl:message name="ListMetadataFormatsHttpGetIn">
    <wsdl:part name="identifier" type="s:string" />
  </wsdl:message>
  <wsdl:message name="ListMetadataFormatsHttpGetOut">
    <wsdl:part name="Body" element="tns:OAI-PMH" />
  </wsdl:message>
  <wsdl:message name="ListSetsHttpGetIn" />
  <wsdl:message name="ListSetsHttpGetOut">
    <wsdl:part name="Body" element="tns:OAI-PMH" />
  </wsdl:message>
  <wsdl:message name="makeBadVerbHttpGetIn">
    <wsdl:part name="str" type="s:string" />
  </wsdl:message>
  <wsdl:message name="makeBadVerbHttpGetOut">
    <wsdl:part name="Body" element="tns:OAI-PMH" />
  </wsdl:message>
  <wsdl:message name="makeBadArgHttpGetIn">
    <wsdl:part name="str" type="s:string" />
  </wsdl:message>
  <wsdl:message name="makeBadArgHttpGetOut">
    <wsdl:part name="Body" element="tns:OAI-PMH" />
  </wsdl:message>
  <wsdl:message name="makeMultipleErrorsHttpGetIn">
    <wsdl:part name="errorTypes" type="s1:StringArray" />
    <wsdl:part name="errorValues" type="s1:StringArray" />
  </wsdl:message>
  <wsdl:message name="makeMultipleErrorsHttpGetOut">
    <wsdl:part name="Body" element="tns:OAI-PMH" />
  </wsdl:message>
  <wsdl:message name="IdentifyHttpPostIn" />
  <wsdl:message name="IdentifyHttpPostOut">
    <wsdl:part name="Body" element="tns:OAI-PMH" />
  </wsdl:message>
  <wsdl:message name="GetRecordHttpPostIn">
    <wsdl:part name="identifier" type="s:string" />
    <wsdl:part name="metadataPrefix" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetRecordHttpPostOut">
    <wsdl:part name="Body" element="tns:OAI-PMH" />
  </wsdl:message>
  <wsdl:message name="ListIdentifiersHttpPostIn">
    <wsdl:part name="metadataPrefix" type="s:string" />
    <wsdl:part name="from" type="s:string" />
    <wsdl:part name="until" type="s:string" />
    <wsdl:part name="set" type="s:string" />
    <wsdl:part name="resumptionToken" type="s:string" />
  </wsdl:message>
  <wsdl:message name="ListIdentifiersHttpPostOut">
    <wsdl:part name="Body" element="tns:OAI-PMH" />
  </wsdl:message>
  <wsdl:message name="ListRecordsHttpPostIn">
    <wsdl:part name="from" type="s:string" />
    <wsdl:part name="metadataPrefix" type="s:string" />
    <wsdl:part name="until" type="s:string" />
    <wsdl:part name="set" type="s:string" />
    <wsdl:part name="resumptionToken" type="s:string" />
  </wsdl:message>
  <wsdl:message name="ListRecordsHttpPostOut">
    <wsdl:part name="Body" element="tns:OAI-PMH" />
  </wsdl:message>
  <wsdl:message name="ListMetadataFormatsHttpPostIn">
    <wsdl:part name="identifier" type="s:string" />
  </wsdl:message>
  <wsdl:message name="ListMetadataFormatsHttpPostOut">
    <wsdl:part name="Body" element="tns:OAI-PMH" />
  </wsdl:message>
  <wsdl:message name="ListSetsHttpPostIn" />
  <wsdl:message name="ListSetsHttpPostOut">
    <wsdl:part name="Body" element="tns:OAI-PMH" />
  </wsdl:message>
  <wsdl:message name="makeBadVerbHttpPostIn">
    <wsdl:part name="str" type="s:string" />
  </wsdl:message>
  <wsdl:message name="makeBadVerbHttpPostOut">
    <wsdl:part name="Body" element="tns:OAI-PMH" />
  </wsdl:message>
  <wsdl:message name="makeBadArgHttpPostIn">
    <wsdl:part name="str" type="s:string" />
  </wsdl:message>
  <wsdl:message name="makeBadArgHttpPostOut">
    <wsdl:part name="Body" element="tns:OAI-PMH" />
  </wsdl:message>
  <wsdl:message name="makeMultipleErrorsHttpPostIn">
    <wsdl:part name="errorTypes" type="s1:StringArray" />
    <wsdl:part name="errorValues" type="s1:StringArray" />
  </wsdl:message>
  <wsdl:message name="makeMultipleErrorsHttpPostOut">
    <wsdl:part name="Body" element="tns:OAI-PMH" />
  </wsdl:message>
  <wsdl:portType name="STOAISoap">
    <wsdl:operation name="Identify">
      <wsdl:input message="tns:IdentifySoapIn" />
      <wsdl:output message="tns:IdentifySoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetRecord">
      <wsdl:input message="tns:GetRecordSoapIn" />
      <wsdl:output message="tns:GetRecordSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ListIdentifiers">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns list of identifying headers - OAI</wsdl:documentation>
      <wsdl:input message="tns:ListIdentifiersSoapIn" />
      <wsdl:output message="tns:ListIdentifiersSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ListRecords">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns list of records - OAI</wsdl:documentation>
      <wsdl:input message="tns:ListRecordsSoapIn" />
      <wsdl:output message="tns:ListRecordsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ListMetadataFormats">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns format for VOService metadata - OAI</wsdl:documentation>
      <wsdl:input message="tns:ListMetadataFormatsSoapIn" />
      <wsdl:output message="tns:ListMetadataFormatsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ListSets">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns format for VOService metadata - OAI</wsdl:documentation>
      <wsdl:input message="tns:ListSetsSoapIn" />
      <wsdl:output message="tns:ListSetsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="makeBadVerb">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns error - OAI</wsdl:documentation>
      <wsdl:input message="tns:makeBadVerbSoapIn" />
      <wsdl:output message="tns:makeBadVerbSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="makeBadArg">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns error - OAI</wsdl:documentation>
      <wsdl:input message="tns:makeBadArgSoapIn" />
      <wsdl:output message="tns:makeBadArgSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="makeMultipleErrors">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns errors - OAI</wsdl:documentation>
      <wsdl:input message="tns:makeMultipleErrorsSoapIn" />
      <wsdl:output message="tns:makeMultipleErrorsSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="STOAIHttpGet">
    <wsdl:operation name="Identify">
      <wsdl:input message="tns:IdentifyHttpGetIn" />
      <wsdl:output message="tns:IdentifyHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="GetRecord">
      <wsdl:input message="tns:GetRecordHttpGetIn" />
      <wsdl:output message="tns:GetRecordHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="ListIdentifiers">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns list of identifying headers - OAI</wsdl:documentation>
      <wsdl:input message="tns:ListIdentifiersHttpGetIn" />
      <wsdl:output message="tns:ListIdentifiersHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="ListRecords">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns list of records - OAI</wsdl:documentation>
      <wsdl:input message="tns:ListRecordsHttpGetIn" />
      <wsdl:output message="tns:ListRecordsHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="ListMetadataFormats">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns format for VOService metadata - OAI</wsdl:documentation>
      <wsdl:input message="tns:ListMetadataFormatsHttpGetIn" />
      <wsdl:output message="tns:ListMetadataFormatsHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="ListSets">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns format for VOService metadata - OAI</wsdl:documentation>
      <wsdl:input message="tns:ListSetsHttpGetIn" />
      <wsdl:output message="tns:ListSetsHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="makeBadVerb">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns error - OAI</wsdl:documentation>
      <wsdl:input message="tns:makeBadVerbHttpGetIn" />
      <wsdl:output message="tns:makeBadVerbHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="makeBadArg">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns error - OAI</wsdl:documentation>
      <wsdl:input message="tns:makeBadArgHttpGetIn" />
      <wsdl:output message="tns:makeBadArgHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="makeMultipleErrors">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns errors - OAI</wsdl:documentation>
      <wsdl:input message="tns:makeMultipleErrorsHttpGetIn" />
      <wsdl:output message="tns:makeMultipleErrorsHttpGetOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="STOAIHttpPost">
    <wsdl:operation name="Identify">
      <wsdl:input message="tns:IdentifyHttpPostIn" />
      <wsdl:output message="tns:IdentifyHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="GetRecord">
      <wsdl:input message="tns:GetRecordHttpPostIn" />
      <wsdl:output message="tns:GetRecordHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="ListIdentifiers">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns list of identifying headers - OAI</wsdl:documentation>
      <wsdl:input message="tns:ListIdentifiersHttpPostIn" />
      <wsdl:output message="tns:ListIdentifiersHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="ListRecords">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns list of records - OAI</wsdl:documentation>
      <wsdl:input message="tns:ListRecordsHttpPostIn" />
      <wsdl:output message="tns:ListRecordsHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="ListMetadataFormats">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns format for VOService metadata - OAI</wsdl:documentation>
      <wsdl:input message="tns:ListMetadataFormatsHttpPostIn" />
      <wsdl:output message="tns:ListMetadataFormatsHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="ListSets">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns format for VOService metadata - OAI</wsdl:documentation>
      <wsdl:input message="tns:ListSetsHttpPostIn" />
      <wsdl:output message="tns:ListSetsHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="makeBadVerb">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns error - OAI</wsdl:documentation>
      <wsdl:input message="tns:makeBadVerbHttpPostIn" />
      <wsdl:output message="tns:makeBadVerbHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="makeBadArg">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns error - OAI</wsdl:documentation>
      <wsdl:input message="tns:makeBadArgHttpPostIn" />
      <wsdl:output message="tns:makeBadArgHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="makeMultipleErrors">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns errors - OAI</wsdl:documentation>
      <wsdl:input message="tns:makeMultipleErrorsHttpPostIn" />
      <wsdl:output message="tns:makeMultipleErrorsHttpPostOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="STOAISoap" type="tns:STOAISoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="Identify">
      <soap:operation soapAction="http://www.openarchives.org/OAI/2.0/Identify" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetRecord">
      <soap:operation soapAction="http://www.openarchives.org/OAI/2.0/GetRecord" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListIdentifiers">
      <soap:operation soapAction="http://www.openarchives.org/OAI/2.0/ListIdentifiers" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListRecords">
      <soap:operation soapAction="http://www.openarchives.org/OAI/2.0/ListRecords" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListMetadataFormats">
      <soap:operation soapAction="http://www.openarchives.org/OAI/2.0/ListMetadataFormats" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListSets">
      <soap:operation soapAction="http://www.openarchives.org/OAI/2.0/ListSets" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="makeBadVerb">
      <soap:operation soapAction="http://www.openarchives.org/OAI/2.0/makeBadVerb" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="makeBadArg">
      <soap:operation soapAction="http://www.openarchives.org/OAI/2.0/makeBadArg" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="makeMultipleErrors">
      <soap:operation soapAction="http://www.openarchives.org/OAI/2.0/makeMultipleErrors" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="STOAISoap12" type="tns:STOAISoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="Identify">
      <soap12:operation soapAction="http://www.openarchives.org/OAI/2.0/Identify" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetRecord">
      <soap12:operation soapAction="http://www.openarchives.org/OAI/2.0/GetRecord" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListIdentifiers">
      <soap12:operation soapAction="http://www.openarchives.org/OAI/2.0/ListIdentifiers" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListRecords">
      <soap12:operation soapAction="http://www.openarchives.org/OAI/2.0/ListRecords" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListMetadataFormats">
      <soap12:operation soapAction="http://www.openarchives.org/OAI/2.0/ListMetadataFormats" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListSets">
      <soap12:operation soapAction="http://www.openarchives.org/OAI/2.0/ListSets" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="makeBadVerb">
      <soap12:operation soapAction="http://www.openarchives.org/OAI/2.0/makeBadVerb" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="makeBadArg">
      <soap12:operation soapAction="http://www.openarchives.org/OAI/2.0/makeBadArg" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="makeMultipleErrors">
      <soap12:operation soapAction="http://www.openarchives.org/OAI/2.0/makeMultipleErrors" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="STOAIHttpGet" type="tns:STOAIHttpGet">
    <http:binding verb="GET" />
    <wsdl:operation name="Identify">
      <http:operation location="/Identify" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetRecord">
      <http:operation location="/GetRecord" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListIdentifiers">
      <http:operation location="/ListIdentifiers" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListRecords">
      <http:operation location="/ListRecords" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListMetadataFormats">
      <http:operation location="/ListMetadataFormats" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListSets">
      <http:operation location="/ListSets" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="makeBadVerb">
      <http:operation location="/makeBadVerb" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="makeBadArg">
      <http:operation location="/makeBadArg" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="makeMultipleErrors">
      <http:operation location="/makeMultipleErrors" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="STOAIHttpPost" type="tns:STOAIHttpPost">
    <http:binding verb="POST" />
    <wsdl:operation name="Identify">
      <http:operation location="/Identify" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetRecord">
      <http:operation location="/GetRecord" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListIdentifiers">
      <http:operation location="/ListIdentifiers" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListRecords">
      <http:operation location="/ListRecords" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListMetadataFormats">
      <http:operation location="/ListMetadataFormats" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListSets">
      <http:operation location="/ListSets" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="makeBadVerb">
      <http:operation location="/makeBadVerb" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="makeBadArg">
      <http:operation location="/makeBadArg" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="makeMultipleErrors">
      <http:operation location="/makeMultipleErrors" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="STOAI">
    <wsdl:port name="STOAISoap" binding="tns:STOAISoap">
      <soap:address location="http://vao.stsci.edu/directory/STOAI.asmx" />
    </wsdl:port>
    <wsdl:port name="STOAISoap12" binding="tns:STOAISoap12">
      <soap12:address location="http://vao.stsci.edu/directory/STOAI.asmx" />
    </wsdl:port>
    <wsdl:port name="STOAIHttpGet" binding="tns:STOAIHttpGet">
      <http:address location="http://vao.stsci.edu/directory/STOAI.asmx" />
    </wsdl:port>
    <wsdl:port name="STOAIHttpPost" binding="tns:STOAIHttpPost">
      <http:address location="http://vao.stsci.edu/directory/STOAI.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>