<?xml version="1.0" encoding="UTF-8"?>
<definitions name="LitmusAPI" xmlns:typens="urn:ActionWebService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="urn:ActionWebService" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns="http://schemas.xmlsoap.org/wsdl/">
  <types>
    <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:ActionWebService">
      <xsd:complexType name="SpamHeader">
        <xsd:all>
          <xsd:element name="Description" type="xsd:string"/>
          <xsd:element name="ID" type="xsd:int"/>
          <xsd:element name="Rating" type="xsd:int"/>
          <xsd:element name="Key" type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="EmailTest">
        <xsd:all>
          <xsd:element name="ID" nillable="true" type="xsd:int"/>
          <xsd:element name="Subject" nillable="true" type="xsd:string"/>
          <xsd:element name="Html" nillable="true" type="xsd:string"/>
          <xsd:element name="Source" nillable="true" type="xsd:string"/>
          <xsd:element name="ZipFile" nillable="true" type="xsd:string"/>
          <xsd:element name="TestType" nillable="true" type="xsd:string"/>
          <xsd:element name="Sandbox" nillable="true" type="xsd:boolean"/>
          <xsd:element name="UserGuid" nillable="true" type="xsd:string"/>
          <xsd:element name="Results" nillable="true" type="typens:ClientArray"/>
          <xsd:element name="State" nillable="true" type="xsd:string"/>
          <xsd:element name="InboxGUID" nillable="true" type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="PageTest">
        <xsd:all>
          <xsd:element name="ID" type="xsd:int"/>
          <xsd:element name="Title" type="xsd:string"/>
          <xsd:element name="TestType" type="xsd:string"/>
          <xsd:element name="Sandbox" type="xsd:boolean"/>
          <xsd:element name="URL" type="xsd:string"/>
          <xsd:element name="Results" type="typens:ClientArray"/>
          <xsd:element name="State" type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="Client">
        <xsd:all>
          <xsd:element name="Id" type="xsd:int"/>
          <xsd:element name="FoundInSpam" type="xsd:boolean"/>
          <xsd:element name="FullpageImage" type="xsd:string"/>
          <xsd:element name="PlatformName" type="xsd:string"/>
          <xsd:element name="WindowImageNoContentBlocking" type="xsd:string"/>
          <xsd:element name="AverageTimeToProcess" type="xsd:int"/>
          <xsd:element name="WindowImageThumb" type="xsd:string"/>
          <xsd:element name="SpamHeaders" type="typens:SpamHeaderArray"/>
          <xsd:element name="RenderedHtmlUrl" nillable="true" type="xsd:string"/>
          <xsd:element name="FullpageImageThumbContentBlocking" type="xsd:string"/>
          <xsd:element name="PlatformLongName" type="xsd:string"/>
          <xsd:element name="Status" type="xsd:int"/>
          <xsd:element name="WindowImage" type="xsd:string"/>
          <xsd:element name="SupportsContentBlocking" type="xsd:boolean"/>
          <xsd:element name="FullpageImageContentBlocking" type="xsd:string"/>
          <xsd:element name="SpamScore" type="xsd:double"/>
          <xsd:element name="FullpageImageThumbNoContentBlocking" type="xsd:string"/>
          <xsd:element name="ApplicationName" type="xsd:string"/>
          <xsd:element name="WindowImageThumbContentBlocking" type="xsd:string"/>
          <xsd:element name="DesktopClient" type="xsd:boolean"/>
          <xsd:element name="ApplicationLongName" type="xsd:string"/>
          <xsd:element name="FullpageImageNoContentBlocking" type="xsd:string"/>
          <xsd:element name="ResultType" type="xsd:string"/>
          <xsd:element name="FullpageImageThumb" type="xsd:string"/>
          <xsd:element name="WindowImageContentBlocking" type="xsd:string"/>
          <xsd:element name="Completed" type="xsd:boolean"/>
          <xsd:element name="WindowImageThumbNoContentBlocking" type="xsd:string"/>
          <xsd:element name="BusinessOrPopular" type="xsd:boolean"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="ClientArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
            <xsd:attribute wsdl:arrayType="typens:Client[]" ref="soapenc:arrayType"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="SpamHeaderArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
            <xsd:attribute wsdl:arrayType="typens:SpamHeader[]" ref="soapenc:arrayType"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
    </xsd:schema>
  </types>
  <message name="GetEmailTest">
    <part name="apiKey" type="xsd:string"/>
    <part name="apiPass" type="xsd:string"/>
    <part name="emailTestID" type="xsd:int"/>
  </message>
  <message name="GetEmailTestResponse">
    <part name="return" type="typens:EmailTest"/>
  </message>
  <message name="GetPageTest">
    <part name="apiKey" type="xsd:string"/>
    <part name="apiPass" type="xsd:string"/>
    <part name="pageTestID" type="xsd:int"/>
  </message>
  <message name="GetPageTestResponse">
    <part name="return" type="typens:PageTest"/>
  </message>
  <message name="GetPageTestClients">
    <part name="apiKey" type="xsd:string"/>
    <part name="apiPass" type="xsd:string"/>
  </message>
  <message name="GetPageTestClientsResponse">
    <part name="return" type="typens:ClientArray"/>
  </message>
  <message name="CreatePageTest">
    <part name="apiKey" type="xsd:string"/>
    <part name="apiPass" type="xsd:string"/>
    <part name="pageTest" type="typens:PageTest"/>
  </message>
  <message name="CreatePageTestResponse">
    <part name="return" type="typens:PageTest"/>
  </message>
  <message name="GetEmailTestClients">
    <part name="apiKey" type="xsd:string"/>
    <part name="apiPass" type="xsd:string"/>
  </message>
  <message name="GetEmailTestClientsResponse">
    <part name="return" type="typens:ClientArray"/>
  </message>
  <message name="CreateEmailTest">
    <part name="apiKey" type="xsd:string"/>
    <part name="apiPass" type="xsd:string"/>
    <part name="emailTest" type="typens:EmailTest"/>
  </message>
  <message name="CreateEmailTestResponse">
    <part name="return" type="typens:EmailTest"/>
  </message>
  <message name="GetResult">
    <part name="apiKey" type="xsd:string"/>
    <part name="apiPass" type="xsd:string"/>
    <part name="resultId" type="xsd:int"/>
  </message>
  <message name="GetResultResponse">
    <part name="return" type="typens:Client"/>
  </message>
  <portType name="LitmusAPISoapPort">
    <operation name="GetEmailTest">
      <input message="typens:GetEmailTest"/>
      <output message="typens:GetEmailTestResponse"/>
    </operation>
    <operation name="GetPageTest">
      <input message="typens:GetPageTest"/>
      <output message="typens:GetPageTestResponse"/>
    </operation>
    <operation name="GetPageTestClients">
      <input message="typens:GetPageTestClients"/>
      <output message="typens:GetPageTestClientsResponse"/>
    </operation>
    <operation name="CreatePageTest">
      <input message="typens:CreatePageTest"/>
      <output message="typens:CreatePageTestResponse"/>
    </operation>
    <operation name="GetEmailTestClients">
      <input message="typens:GetEmailTestClients"/>
      <output message="typens:GetEmailTestClientsResponse"/>
    </operation>
    <operation name="CreateEmailTest">
      <input message="typens:CreateEmailTest"/>
      <output message="typens:CreateEmailTestResponse"/>
    </operation>
    <operation name="GetResult">
      <input message="typens:GetResult"/>
      <output message="typens:GetResultResponse"/>
    </operation>
  </portType>
  <binding name="LitmusAPISoapBinding" type="typens:LitmusAPISoapPort">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
    <operation name="GetEmailTest">
      <soap:operation soapAction="/soap/api/GetEmailTest"/>
      <input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ActionWebService" use="encoded"/>
      </input>
      <output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ActionWebService" use="encoded"/>
      </output>
    </operation>
    <operation name="GetPageTest">
      <soap:operation soapAction="/soap/api/GetPageTest"/>
      <input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ActionWebService" use="encoded"/>
      </input>
      <output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ActionWebService" use="encoded"/>
      </output>
    </operation>
    <operation name="GetPageTestClients">
      <soap:operation soapAction="/soap/api/GetPageTestClients"/>
      <input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ActionWebService" use="encoded"/>
      </input>
      <output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ActionWebService" use="encoded"/>
      </output>
    </operation>
    <operation name="CreatePageTest">
      <soap:operation soapAction="/soap/api/CreatePageTest"/>
      <input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ActionWebService" use="encoded"/>
      </input>
      <output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ActionWebService" use="encoded"/>
      </output>
    </operation>
    <operation name="GetEmailTestClients">
      <soap:operation soapAction="/soap/api/GetEmailTestClients"/>
      <input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ActionWebService" use="encoded"/>
      </input>
      <output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ActionWebService" use="encoded"/>
      </output>
    </operation>
    <operation name="CreateEmailTest">
      <soap:operation soapAction="/soap/api/CreateEmailTest"/>
      <input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ActionWebService" use="encoded"/>
      </input>
      <output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ActionWebService" use="encoded"/>
      </output>
    </operation>
    <operation name="GetResult">
      <soap:operation soapAction="/soap/api/GetResult"/>
      <input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ActionWebService" use="encoded"/>
      </input>
      <output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ActionWebService" use="encoded"/>
      </output>
    </operation>
  </binding>
  <service name="LitmusAPIService">
    <port name="LitmusAPISoapPort" binding="typens:LitmusAPISoapBinding">
      <soap:address location="http://soap.litmusapp.com/soap/api"/>
    </port>
  </service>
</definitions>
