<?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:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://voservices.net/filter" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://voservices.net/filter" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://voservices.net/filter">
      <s:element name="CreateFilterIndirect">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="userGuid" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="filter" type="tns:Filter" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="Filter">
        <s:complexContent mixed="false">
          <s:extension base="tns:FilterBaseObject">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="ArrayOfResponse" type="tns:ArrayOfResponse" />
            </s:sequence>
            <s:attribute name="Id" type="s:int" use="required" />
            <s:attribute name="Name" type="s:string" />
            <s:attribute name="Ucd" type="s:string" />
            <s:attribute name="Version" type="s:string" />
            <s:attribute name="DateCreated" type="s:dateTime" use="required" />
            <s:attribute name="DateModified" type="s:dateTime" use="required" />
            <s:attribute name="WavelengthMin" type="s:double" use="required" />
            <s:attribute name="WavelengthMax" type="s:double" use="required" />
            <s:attribute name="WavelengthEff" type="s:double" use="required" />
            <s:attribute name="EffectiveWidth" type="s:double" use="required" />
            <s:attribute name="Unit" type="s:string" />
            <s:attribute name="WavelengthScale" type="s:int" use="required" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="FilterBaseObject" />
      <s:complexType name="Response">
        <s:complexContent mixed="false">
          <s:extension base="tns:FilterBaseObject">
            <s:attribute name="Wavelength" type="s:double" use="required" />
            <s:attribute name="Value" type="s:double" use="required" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="ArrayOfResponse">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Response" nillable="true" type="tns:Response" />
        </s:sequence>
      </s:complexType>
      <s:element name="CreateFilterIndirectResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="CreateFilterIndirectResult" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="CreateFilter">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="userGuid" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="description" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ucd" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="version" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="wavelengthScale" type="tns:FilterWavelengthScale" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:simpleType name="FilterWavelengthScale">
        <s:restriction base="s:string">
          <s:enumeration value="Any" />
          <s:enumeration value="Linear" />
          <s:enumeration value="Logarithmic" />
          <s:enumeration value="Other" />
        </s:restriction>
      </s:simpleType>
      <s:element name="CreateFilterResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="CreateFilterResult" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ModifyFilterIndirect">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="userGuid" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="filter" type="tns:Filter" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ModifyFilterIndirectResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="ModifyFilterIndirectResult" type="s:boolean" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ModifyFilter">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="filterId" type="s:int" />
            <s:element minOccurs="0" maxOccurs="1" name="userGuid" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="description" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ucd" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="version" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="wavelengthScale" type="tns:FilterWavelengthScale" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ModifyFilterResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="ModifyFilterResult" type="s:boolean" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="DeleteFilterIndirect">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="userGuid" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="filter" type="tns:Filter" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="DeleteFilterIndirectResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="DeleteFilterIndirectResult" type="s:boolean" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="DeleteFilter">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="userGuid" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="filterId" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="DeleteFilterResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="DeleteFilterResult" type="s:boolean" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AppendFilterResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="userGuid" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="filterId" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="wavelength" type="s:double" />
            <s:element minOccurs="1" maxOccurs="1" name="reponse" type="s:double" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AppendFilterResponseResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="AppendFilterResponseResult" type="s:boolean" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AppendFilterResponseIndirect">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="userGuid" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="filterId" type="s:int" />
            <s:element minOccurs="0" maxOccurs="1" name="responses" type="tns:ArrayOfResponse" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AppendFilterResponseIndirectResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="AppendFilterResponseIndirectResult" type="s:boolean" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="DeleteFilterResponses">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="userGuid" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="filterId" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="DeleteFilterResponsesResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="DeleteFilterResponsesResult" type="s:boolean" />
          </s:sequence>
        </s:complexType>
      </s:element>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="CreateFilterIndirectSoapIn">
    <wsdl:part name="parameters" element="tns:CreateFilterIndirect" />
  </wsdl:message>
  <wsdl:message name="CreateFilterIndirectSoapOut">
    <wsdl:part name="parameters" element="tns:CreateFilterIndirectResponse" />
  </wsdl:message>
  <wsdl:message name="CreateFilterSoapIn">
    <wsdl:part name="parameters" element="tns:CreateFilter" />
  </wsdl:message>
  <wsdl:message name="CreateFilterSoapOut">
    <wsdl:part name="parameters" element="tns:CreateFilterResponse" />
  </wsdl:message>
  <wsdl:message name="ModifyFilterIndirectSoapIn">
    <wsdl:part name="parameters" element="tns:ModifyFilterIndirect" />
  </wsdl:message>
  <wsdl:message name="ModifyFilterIndirectSoapOut">
    <wsdl:part name="parameters" element="tns:ModifyFilterIndirectResponse" />
  </wsdl:message>
  <wsdl:message name="ModifyFilterSoapIn">
    <wsdl:part name="parameters" element="tns:ModifyFilter" />
  </wsdl:message>
  <wsdl:message name="ModifyFilterSoapOut">
    <wsdl:part name="parameters" element="tns:ModifyFilterResponse" />
  </wsdl:message>
  <wsdl:message name="DeleteFilterIndirectSoapIn">
    <wsdl:part name="parameters" element="tns:DeleteFilterIndirect" />
  </wsdl:message>
  <wsdl:message name="DeleteFilterIndirectSoapOut">
    <wsdl:part name="parameters" element="tns:DeleteFilterIndirectResponse" />
  </wsdl:message>
  <wsdl:message name="DeleteFilterSoapIn">
    <wsdl:part name="parameters" element="tns:DeleteFilter" />
  </wsdl:message>
  <wsdl:message name="DeleteFilterSoapOut">
    <wsdl:part name="parameters" element="tns:DeleteFilterResponse" />
  </wsdl:message>
  <wsdl:message name="AppendFilterResponseSoapIn">
    <wsdl:part name="parameters" element="tns:AppendFilterResponse" />
  </wsdl:message>
  <wsdl:message name="AppendFilterResponseSoapOut">
    <wsdl:part name="parameters" element="tns:AppendFilterResponseResponse" />
  </wsdl:message>
  <wsdl:message name="AppendFilterResponseIndirectSoapIn">
    <wsdl:part name="parameters" element="tns:AppendFilterResponseIndirect" />
  </wsdl:message>
  <wsdl:message name="AppendFilterResponseIndirectSoapOut">
    <wsdl:part name="parameters" element="tns:AppendFilterResponseIndirectResponse" />
  </wsdl:message>
  <wsdl:message name="DeleteFilterResponsesSoapIn">
    <wsdl:part name="parameters" element="tns:DeleteFilterResponses" />
  </wsdl:message>
  <wsdl:message name="DeleteFilterResponsesSoapOut">
    <wsdl:part name="parameters" element="tns:DeleteFilterResponsesResponse" />
  </wsdl:message>
  <wsdl:portType name="AdminSoap">
    <wsdl:operation name="CreateFilterIndirect">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Creates a new Filter in the database based on the passed Filter object. Returns the Id of the new Filter</wsdl:documentation>
      <wsdl:input message="tns:CreateFilterIndirectSoapIn" />
      <wsdl:output message="tns:CreateFilterIndirectSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="CreateFilter">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Creates a new filter object int the database based on the passed parameters. Returns the Id of the new Filter</wsdl:documentation>
      <wsdl:input message="tns:CreateFilterSoapIn" />
      <wsdl:output message="tns:CreateFilterSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ModifyFilterIndirect">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Modifies an exisiting Filter in the database. The Filter object's Id property has to contain the Id of the Filter to be modified. Returns true if successed.</wsdl:documentation>
      <wsdl:input message="tns:ModifyFilterIndirectSoapIn" />
      <wsdl:output message="tns:ModifyFilterIndirectSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ModifyFilter">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Modifies and exiting filter based on the passed parameters. Returns true if successed.</wsdl:documentation>
      <wsdl:input message="tns:ModifyFilterSoapIn" />
      <wsdl:output message="tns:ModifyFilterSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="DeleteFilterIndirect">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Deletes an exisiting Filter from the database. The Filter object's Id property has to contain the Id of the Filter to be deleted. Returns true if successed.</wsdl:documentation>
      <wsdl:input message="tns:DeleteFilterIndirectSoapIn" />
      <wsdl:output message="tns:DeleteFilterIndirectSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="DeleteFilter">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Deletes an existing Filter from the database base on the passed id parameter. Returns true if successed.</wsdl:documentation>
      <wsdl:input message="tns:DeleteFilterSoapIn" />
      <wsdl:output message="tns:DeleteFilterSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="AppendFilterResponse">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Appends a new wavelength-response pair object to the Filter object identified by the Id parameter. Returns true if successed.</wsdl:documentation>
      <wsdl:input message="tns:AppendFilterResponseSoapIn" />
      <wsdl:output message="tns:AppendFilterResponseSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="AppendFilterResponseIndirect">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Appends a list of new wavelength-response pair objects to the Filter object identified by the Id parameter. Returns true if successed.</wsdl:documentation>
      <wsdl:input message="tns:AppendFilterResponseIndirectSoapIn" />
      <wsdl:output message="tns:AppendFilterResponseIndirectSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="DeleteFilterResponses">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Deletes all wavelength-response pairs belonging to the Filter identified by the Id parameter. Returns true if successed.</wsdl:documentation>
      <wsdl:input message="tns:DeleteFilterResponsesSoapIn" />
      <wsdl:output message="tns:DeleteFilterResponsesSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="AdminSoap" type="tns:AdminSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="CreateFilterIndirect">
      <soap:operation soapAction="http://voservices.net/filter/CreateFilterIndirect" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CreateFilter">
      <soap:operation soapAction="http://voservices.net/filter/CreateFilter" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ModifyFilterIndirect">
      <soap:operation soapAction="http://voservices.net/filter/ModifyFilterIndirect" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ModifyFilter">
      <soap:operation soapAction="http://voservices.net/filter/ModifyFilter" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="DeleteFilterIndirect">
      <soap:operation soapAction="http://voservices.net/filter/DeleteFilterIndirect" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="DeleteFilter">
      <soap:operation soapAction="http://voservices.net/filter/DeleteFilter" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="AppendFilterResponse">
      <soap:operation soapAction="http://voservices.net/filter/AppendFilterResponse" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="AppendFilterResponseIndirect">
      <soap:operation soapAction="http://voservices.net/filter/AppendFilterResponseIndirect" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="DeleteFilterResponses">
      <soap:operation soapAction="http://voservices.net/filter/DeleteFilterResponses" 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="AdminSoap12" type="tns:AdminSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="CreateFilterIndirect">
      <soap12:operation soapAction="http://voservices.net/filter/CreateFilterIndirect" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CreateFilter">
      <soap12:operation soapAction="http://voservices.net/filter/CreateFilter" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ModifyFilterIndirect">
      <soap12:operation soapAction="http://voservices.net/filter/ModifyFilterIndirect" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ModifyFilter">
      <soap12:operation soapAction="http://voservices.net/filter/ModifyFilter" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="DeleteFilterIndirect">
      <soap12:operation soapAction="http://voservices.net/filter/DeleteFilterIndirect" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="DeleteFilter">
      <soap12:operation soapAction="http://voservices.net/filter/DeleteFilter" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="AppendFilterResponse">
      <soap12:operation soapAction="http://voservices.net/filter/AppendFilterResponse" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="AppendFilterResponseIndirect">
      <soap12:operation soapAction="http://voservices.net/filter/AppendFilterResponseIndirect" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="DeleteFilterResponses">
      <soap12:operation soapAction="http://voservices.net/filter/DeleteFilterResponses" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="Admin">
    <wsdl:port name="AdminSoap" binding="tns:AdminSoap">
      <soap:address location="http://voservices.net/filter/ws_v2_1/admin.asmx" />
    </wsdl:port>
    <wsdl:port name="AdminSoap12" binding="tns:AdminSoap12">
      <soap12:address location="http://voservices.net/filter/ws_v2_1/admin.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>