<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" 
	xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
	xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
	xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
	xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
	targetNamespace="http://ads.harvard.edu/DataVerifier"
	xmlns:adsdv="http://ads.harvard.edu/DataVerifier">

  <types>
    <xsd:schema targetNamespace="http://ads.harvard.edu/DataVerifier">

      <xsd:element name="verify" type="adsdv:verifyType" />
      <xsd:complexType name="verifyType">
        <xsd:sequence>
          <xsd:element name="verifyRequest" type="adsdv:verifyRequestType" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="verifyRequestType">
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="1" name="header" type="adsdv:headerType" />
          <xsd:element minOccurs="1" maxOccurs="1" name="identifiers" type="adsdv:identifiersType" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="headerType">
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="1" name="protocolversion" type="xsd:string" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="identifiersType">
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="unbounded" name="item" type="xsd:string" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="verifyResponse" type="adsdv:verifyResponseType" />
      <xsd:complexType name="verifyResponseType">
        <xsd:sequence>
          <xsd:element name="verifyResult" type="adsdv:verifyResultType" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="verifyResultType">
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="1" name="header" type="adsdv:headerResultType" />
          <xsd:element minOccurs="1" maxOccurs="1" name="identifiers" type="adsdv:identifiersResultType" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="headerResultType">
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="1" name="protocolversion" type="xsd:string" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="identifiersResultType">
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="unbounded" name="item" type="adsdv:itemResultType" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="itemResultType">
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="1" name="input" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          <xsd:element minOccurs="1" maxOccurs="1" name="url" type="xsd:string" />
        </xsd:sequence>
      </xsd:complexType>

    </xsd:schema>
  </types>

  <message name="verifyIn">
    <part name="parameters" element="adsdv:verify" />
  </message>
  <message name="verifyOut">
    <part name="parameters" element="adsdv:verifyResponse" />
  </message>

  <portType name="DataVerify">
    <operation name="verify">
      <documentation>
	This method performs verification of the given data set ID.
      </documentation>
      <input message="adsdv:verifyIn" />
      <output message="adsdv:verifyOut" />
    </operation>
  </portType>

  <binding name="DataVerify" type="adsdv:DataVerify">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="verify">
      <soap:operation soapAction="http://ads.harvard.edu/DataVerifier/verify" />
      <input>
        <soap:body use="literal" namespace="http://ads.harvard.edu/DataVerifier"
          encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </input>
      <output>
        <soap:body use="literal" namespace="http://ads.harvard.edu/DataVerifier"
          encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </output>
    </operation>
  </binding>

  <service name="DataVerify">
    <port name="DataVerify" binding="adsdv:DataVerify">
      <soap:address location="http://ads.harvard.edu/ws/ITWG-DataVerifier-test" />
    </port>

  </service>
</definitions>
