<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://www.textdisguise.com/TextDisguise/ClientService/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://www.textdisguise.com/TextDisguise/ClientService/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://www.textdisguise.com/TextDisguise/ClientService/">
      <s:element name="Get">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="cmAuth" type="tns:ClientModel" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ClientModel">
        <s:complexContent mixed="false">
          <s:extension base="tns:ClientAuthModel">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
              <s:element minOccurs="1" maxOccurs="1" name="ProductPurchased" type="tns:Products" />
              <s:element minOccurs="1" maxOccurs="1" name="ProductExpiration" type="s:dateTime" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="ClientAuthModel">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Guid" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="Products">
        <s:restriction base="s:string">
          <s:enumeration value="TDDLL" />
          <s:enumeration value="TDSRC" />
          <s:enumeration value="TDWSE" />
        </s:restriction>
      </s:simpleType>
      <s:element name="GetResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetResult" type="tns:ClientModel" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="Update">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="cmAuth" type="tns:ClientModel" />
            <s:element minOccurs="0" maxOccurs="1" name="cmNew" type="tns:ClientModel" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UpdateResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="UpdateResult" type="tns:ClientModel" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ChangePassword">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="cmAuth" type="tns:ClientModel" />
            <s:element minOccurs="0" maxOccurs="1" name="cmNew" type="tns:ClientModel" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ChangePasswordResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ChangePasswordResult" type="tns:ClientModel" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="Register">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="cm" type="tns:ClientModel" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="RegisterResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="RegisterResult" type="tns:ClientModel" />
          </s:sequence>
        </s:complexType>
      </s:element>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="GetSoapIn">
    <wsdl:part name="parameters" element="tns:Get" />
  </wsdl:message>
  <wsdl:message name="GetSoapOut">
    <wsdl:part name="parameters" element="tns:GetResponse" />
  </wsdl:message>
  <wsdl:message name="UpdateSoapIn">
    <wsdl:part name="parameters" element="tns:Update" />
  </wsdl:message>
  <wsdl:message name="UpdateSoapOut">
    <wsdl:part name="parameters" element="tns:UpdateResponse" />
  </wsdl:message>
  <wsdl:message name="ChangePasswordSoapIn">
    <wsdl:part name="parameters" element="tns:ChangePassword" />
  </wsdl:message>
  <wsdl:message name="ChangePasswordSoapOut">
    <wsdl:part name="parameters" element="tns:ChangePasswordResponse" />
  </wsdl:message>
  <wsdl:message name="RegisterSoapIn">
    <wsdl:part name="parameters" element="tns:Register" />
  </wsdl:message>
  <wsdl:message name="RegisterSoapOut">
    <wsdl:part name="parameters" element="tns:RegisterResponse" />
  </wsdl:message>
  <wsdl:portType name="ClientServiceSoap">
    <wsdl:operation name="Get">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Get the ClientModel for a specific client based on GUID.</documentation>
      <wsdl:input message="tns:GetSoapIn" />
      <wsdl:output message="tns:GetSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="Update">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Update a specific client based on GUID.</documentation>
      <wsdl:input message="tns:UpdateSoapIn" />
      <wsdl:output message="tns:UpdateSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ChangePassword">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Change the password for a specific client based on GUID.</documentation>
      <wsdl:input message="tns:ChangePasswordSoapIn" />
      <wsdl:output message="tns:ChangePasswordSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="Register">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Create a new client, returning a client Model with a populated GUID and password.</documentation>
      <wsdl:input message="tns:RegisterSoapIn" />
      <wsdl:output message="tns:RegisterSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="ClientServiceHttpGet" />
  <wsdl:portType name="ClientServiceHttpPost" />
  <wsdl:binding name="ClientServiceSoap" type="tns:ClientServiceSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    <wsdl:operation name="Get">
      <soap:operation soapAction="http://www.textdisguise.com/TextDisguise/ClientService/Get" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Update">
      <soap:operation soapAction="http://www.textdisguise.com/TextDisguise/ClientService/Update" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ChangePassword">
      <soap:operation soapAction="http://www.textdisguise.com/TextDisguise/ClientService/ChangePassword" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Register">
      <soap:operation soapAction="http://www.textdisguise.com/TextDisguise/ClientService/Register" 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="ClientServiceHttpGet" type="tns:ClientServiceHttpGet">
    <http:binding verb="GET" />
  </wsdl:binding>
  <wsdl:binding name="ClientServiceHttpPost" type="tns:ClientServiceHttpPost">
    <http:binding verb="POST" />
  </wsdl:binding>
  <wsdl:service name="ClientService">
    <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Web service that allows users to manage their client records for the CAPTCHA Service.</documentation>
    <wsdl:port name="ClientServiceSoap" binding="tns:ClientServiceSoap">
      <soap:address location="http://www.textdisguise.com/TextDisguise/ClientService/ClientService.asmx" />
    </wsdl:port>
    <wsdl:port name="ClientServiceHttpGet" binding="tns:ClientServiceHttpGet">
      <http:address location="http://www.textdisguise.com/TextDisguise/ClientService/ClientService.asmx" />
    </wsdl:port>
    <wsdl:port name="ClientServiceHttpPost" binding="tns:ClientServiceHttpPost">
      <http:address location="http://www.textdisguise.com/TextDisguise/ClientService/ClientService.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>