<?xml version="1.0"?>
<definitions name="WebSitePulse"
             targetNamespace="WebSitePulse"
             xmlns:typens="WebSitePulse"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
             xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
             xmlns="http://schemas.xmlsoap.org/wsdl/">
  <types>
    <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="WebSitePulse">
      <xsd:complexType name="StatusResult">
        <xsd:all>
           <xsd:element name="resultElements" type="typens:ResultElementArray"/>
         </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="SettingsResult">
        <xsd:all>
          <xsd:element name="settingsResultElements" type="typens:SettingsResultElementArray"/>
        </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="ResultElement">
        <xsd:all>
          <xsd:element name="label" type="xsd:string"/>
          <xsd:element name="targetType" type="xsd:string"/>
          <xsd:element name="frequency" type="xsd:int"/>
          <xsd:element name="statusCode" type="xsd:string"/>
          <xsd:element name="statusMessage" type="xsd:string"/>
          <xsd:element name="lastCheck" type="xsd:string"/>
          <xsd:element name="lastDown" type="xsd:string"/>
          <xsd:element name="fails" type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="ResultElementArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
             <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:ResultElement[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="UptimeResult">
        <xsd:all>
           <xsd:element name="UptimeElements" type="typens:uptimeElementArray"/>
         </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="UptimeElement">
        <xsd:all>
          <xsd:element name="label" type="xsd:string"/>
          <xsd:element name="targetType" type="xsd:string"/>
          <xsd:element name="fails" type="xsd:int"/>
          <xsd:element name="checks" type="xsd:int"/>
          <xsd:element name="resptime" type="xsd:decimal"/>
          <xsd:element name="uptimepercent" type="xsd:decimal"/>
          <xsd:element name="downtime" type="xsd:int"/>
        </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="uptimeElementArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
             <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:UptimeElement[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="InstantTestResult">
        <xsd:all>
          <xsd:element name="label" type="xsd:string"/>
          <xsd:element name="targetType" type="xsd:string"/>
          <xsd:element name="status" type="xsd:string"/>
          <xsd:element name="respTime" type="xsd:decimal"/>
          <xsd:element name="dnsTime" type="xsd:decimal"/>
          <xsd:element name="connectTime" type="xsd:decimal"/>
          <xsd:element name="firstByte" type="xsd:decimal"/>
          <xsd:element name="lastByte" type="xsd:decimal"/>
          <xsd:element name="size" type="xsd:int"/>
          <xsd:element name="md5hash" type="xsd:string"/>
          <xsd:element name="pingLoss" type="xsd:string"/>
          <xsd:element name="pingMin" type="xsd:decimal"/>
          <xsd:element name="pingAvg" type="xsd:decimal"/>
          <xsd:element name="pingMax" type="xsd:decimal"/>
        </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="StepsResult">
        <xsd:all>
          <xsd:element name="stepNumber" type="xsd:int"/>
          <xsd:element name="stepLabel" type="xsd:string"/>
          <xsd:element name="stepStatus" type="xsd:string"/>
          <xsd:element name="stepSize" type="xsd:int"/>
          <xsd:element name="stepMd5" type="xsd:string"/>
          <xsd:element name="stepRespTime" type="xsd:decimal"/>
          <xsd:element name="stepdnsTime" type="xsd:decimal"/>
          <xsd:element name="stepconnectTime" type="xsd:decimal"/>
          <xsd:element name="stepfirstByte" type="xsd:decimal"/>
          <xsd:element name="steplastByte" type="xsd:decimal"/>
          <xsd:element name="stepPingLoss" type="xsd:string"/>
          <xsd:element name="stepPingMin" type="xsd:decimal"/>
          <xsd:element name="stepPingAvg" type="xsd:decimal"/>
          <xsd:element name="stepPingMax" type="xsd:decimal"/>
        </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="StepsResultArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
             <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:StepsResult[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="InstantTransactionTestResult">
        <xsd:all>
          <xsd:element name="label" type="xsd:string"/>
          <xsd:element name="status" type="xsd:string"/>
          <xsd:element name="respTime" type="xsd:decimal"/>
          <xsd:element name="stepResults" type="typens:StepsResultArray"/>
        </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="FullpageStepsResult">
        <xsd:all>
          <xsd:element name="stepNumber" type="xsd:int"/>
          <xsd:element name="stepLabel" type="xsd:string"/>
          <xsd:element name="stepStatus" type="xsd:string"/>
          <xsd:element name="stepRespTime" type="xsd:decimal"/>
          <xsd:element name="stepSize" type="xsd:int"/>
          <xsd:element name="stepMd5" type="xsd:string"/>
          <xsd:element name="stepPingLoss" type="xsd:string"/>
          <xsd:element name="stepPingMin" type="xsd:decimal"/>
          <xsd:element name="stepPingAvg" type="xsd:decimal"/>
          <xsd:element name="stepPingMax" type="xsd:decimal"/>
          <xsd:element name="totalRefs" type="xsd:int" />
          <xsd:element name="failedRefs" type="xsd:int" />
          <xsd:element name="imagesTested" type="xsd:int" />
          <xsd:element name="framesTested" type="xsd:int" />
          <xsd:element name="otherInline" type="xsd:int" />
          <xsd:element name="totalBytes" type="xsd:int" />
        </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="FullpageStepsResultArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
             <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:FullpageStepsResult[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="InstantFullpageTransactionTestResult">
        <xsd:all>
          <xsd:element name="label" type="xsd:string"/>
          <xsd:element name="status" type="xsd:string"/>
          <xsd:element name="respTime" type="xsd:decimal"/>
          <xsd:element name="fullpageStepResults" type="typens:FullpageStepsResultArray"/>
        </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="InstantFullpageTestResult">
        <xsd:all>
          <xsd:element name="label" type="xsd:string"/>
          <xsd:element name="targetType" type="xsd:string"/>
          <xsd:element name="status" type="xsd:string"/>
          <xsd:element name="respTime" type="xsd:decimal"/>
          <xsd:element name="dnsTime" type="xsd:decimal"/>
          <xsd:element name="connectTime" type="xsd:decimal"/>
          <xsd:element name="firstByte" type="xsd:decimal"/>
          <xsd:element name="lastByte" type="xsd:decimal"/>
          <xsd:element name="pingLoss" type="xsd:string"/>
          <xsd:element name="pingMin" type="xsd:decimal"/>
          <xsd:element name="pingAvg" type="xsd:decimal"/>
          <xsd:element name="pingMax" type="xsd:decimal"/>
          <xsd:element name="totalRefs" type="xsd:int" />
          <xsd:element name="failedRefs" type="xsd:int" />
          <xsd:element name="imagesTested" type="xsd:int" />
          <xsd:element name="framesTested" type="xsd:int" />
          <xsd:element name="otherInline" type="xsd:int" />
          <xsd:element name="linkTested" type="xsd:int" />
          <xsd:element name="otherExt" type="xsd:int" />
          <xsd:element name="totalBytes" type="xsd:int" />
        </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="SettingsResultElementArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
            <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:SettingsResultElement[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="SettingsResultElement">
        <xsd:all>
          <xsd:element name="basicSettings" type="typens:BasicSettings"/>
          <xsd:element name="advancedSettings" type="typens:AdvancedSettings"/>
          <xsd:element name="monitoringLocations" type="typens:MonitoringLocations"/>
        </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="MonitoringLocations">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
            <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:Location[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="Location">
        <xsd:all>
          <xsd:element name="locationID" type="xsd:int"/>
          <xsd:element name="locationName" type="xsd:string"/>
          <xsd:element name="alertSettings" type="xsd:string"/>
          <xsd:element name="errorConfirmation" type="xsd:boolean"/>
          <xsd:element name="active" type="xsd:boolean"/>
        </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="AdvancedSettings">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
            <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:AdvancedSettingsResult[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="AdvancedSettingsResult">
        <xsd:all>
          <xsd:element name="commonSettings" type="typens:CommonSettings" minOccurs="0" maxOccurs="1" />
          <xsd:element name="pageContent" type="typens:PageContent" minOccurs="0" maxOccurs="1" />
          <xsd:element name="browserEmulation" type="typens:BrowserEmulation" minOccurs="0" maxOccurs="1" />
          <xsd:element name="miscSettings" type="typens:MiscSettings" minOccurs="0" maxOccurs="1" />
          <xsd:element name="fullpageSettings" type="typens:FullpageSettings" minOccurs="0" maxOccurs="1" />
          <xsd:element name="emailTransactionSettings" type="typens:EmailTransactionSettings" minOccurs="0" maxOccurs="1" />
        </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="BasicSettings">
        <xsd:all>
          <xsd:element name="label" type="xsd:string"/>
          <xsd:element name="targetType" type="xsd:string"/>
          <xsd:element name="frequency" type="xsd:int"/>
          <xsd:element name="gmtOffset" type="xsd:int"/>
          <xsd:element name="pingThreshold" type="xsd:int"/>
          <xsd:element name="timeout" type="xsd:int"/>
          <xsd:element name="maxRefs" type="xsd:int"/>
          <xsd:element name="keepLogs" type="xsd:int"/>
          <xsd:element name="useTraceroute" type="xsd:boolean"/>
          <xsd:element name="useTakeover" type="xsd:boolean"/>
          <xsd:element name="forcedMonitoring" type="xsd:int"/>
          <xsd:element name="locationsNum" type="xsd:int"/>
          <xsd:element name="snapshotError" type="xsd:boolean"/>
          <xsd:element name="screenshotError" type="xsd:boolean"/>
          <xsd:element name="isActive" type="xsd:boolean"/>
        </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="CommonSettings">
        <xsd:all>
          <xsd:element name="stepNumber" type="xsd:int" minOccurs="0" maxOccurs="1" />
          <xsd:element name="stepLabel" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <xsd:element name="protocol" type="xsd:string"/>
          <xsd:element name="host" type="xsd:string"/>
          <xsd:element name="requestPage" type="xsd:string"/>
          <xsd:element name="requestCustom" type="xsd:string"/>
          <xsd:element name="port" type="xsd:int"/>
          <xsd:element name="usePing" type="xsd:boolean"/>
          <xsd:element name="useSSL" type="xsd:boolean"/>
          <xsd:element name="requestMethod" type="xsd:string"/>
          <xsd:element name="authUser" type="xsd:string"/>
          <xsd:element name="authPass" type="xsd:string"/>
          <xsd:element name="authDomain" type="xsd:string"/>
          <xsd:element name="queryString" type="xsd:string"/>
          <xsd:element name="lookupName" type="xsd:string"/>
          <xsd:element name="lookupType" type="xsd:string"/>
          <xsd:element name="requestTimeout" type="xsd:int"/>
          <xsd:element name="pageloadTimeout" type="xsd:int"/>
        </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="FullpageSettings">
        <xsd:all>
          <xsd:element name="images" type="xsd:string"/>
          <xsd:element name="frames" type="xsd:string"/>
          <xsd:element name="otherInline" type="xsd:string"/>
          <xsd:element name="links" type="xsd:string"/>
          <xsd:element name="otherExternal" type="xsd:string"/>
          <xsd:element name="reuseConnection" type="xsd:boolean"/>
          <xsd:element name="depthLevel" type="xsd:int"/>
          <xsd:element name="includeURLs" type="xsd:string"/>
          <xsd:element name="excludeURLs" type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="PageContent">
        <xsd:all>
          <xsd:element name="keywordNotFound" type="xsd:string"/>
          <xsd:element name="keywordsFound" type="xsd:string"/>
          <xsd:element name="checkFilesize" type="xsd:boolean"/>
          <xsd:element name="enableCompression" type="xsd:boolean"/>
          <xsd:element name="MD5checksum" type="xsd:boolean"/>
          <xsd:element name="compareContent" type="xsd:string"/>
          <xsd:element name="comparePercent" type="xsd:int"/>
        </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="BrowserEmulation">
        <xsd:all>
          <xsd:element name="userAgent" type="xsd:string"/>
          <xsd:element name="cookies" type="xsd:string"/>
          <xsd:element name="acceptLanguage" type="xsd:string"/>
          <xsd:element name="metaRefresh" type="xsd:boolean"/>
          <xsd:element name="redirectJS" type="xsd:boolean"/>
        </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="MiscSettings">
        <xsd:all>
          <xsd:element name="bandwidthLimit" type="xsd:string"/>
          <xsd:element name="usePING" type="xsd:boolean"/>
          <xsd:element name="delayStep" type="xsd:int"/>
        </xsd:all>
      </xsd:complexType>

      <xsd:complexType name="EmailTransactionSettings">
        <xsd:all>
          <xsd:element name="smtpLabel" type="xsd:string"/>
          <xsd:element name="smtpHost" type="xsd:string"/>
          <xsd:element name="smtpPort" type="xsd:int"/>
          <xsd:element name="useMX" type="xsd:string"/>
          <xsd:element name="destEmail" type="xsd:string"/>
          <xsd:element name="fromEmail" type="xsd:string"/>
          <xsd:element name="smtpUser" type="xsd:string"/>
          <xsd:element name="smtpPassword" type="xsd:string"/>
          <xsd:element name="smtpResend" type="xsd:boolean"/>
          <xsd:element name="secondaryMX" type="xsd:string"/>
          <xsd:element name="smtpSSL" type="xsd:boolean"/>
          <xsd:element name="smtpPing" type="xsd:boolean"/>
          <xsd:element name="smtpAuth" type="xsd:string"/>
          <xsd:element name="recvLabel" type="xsd:string"/>
          <xsd:element name="recvHost" type="xsd:string"/>
          <xsd:element name="recvProtocol" type="xsd:string"/>
          <xsd:element name="recvPort" type="xsd:int"/>
          <xsd:element name="recvUser" type="xsd:string"/>
          <xsd:element name="recvPass" type="xsd:string"/>
          <xsd:element name="recvPing" type="xsd:boolean"/>
          <xsd:element name="recvSSL" type="xsd:boolean"/>
          <xsd:element name="recvWaitTime" type="xsd:int"/>
        </xsd:all>
      </xsd:complexType>
    </xsd:schema>
  </types>

  <!-- Messages for WebSitePulse Web APIs-->
  <message name="doGetStatus">
    <part name="username" type="xsd:string"/>
    <part name="key" type="xsd:string"/>
    <part name="location" type="xsd:int"/>
    <part name="targetType" type="xsd:string"/>
    <part name="targetID" type="xsd:anySimpleType"/>
  </message>

  <message name="doGetStatusResponse">
    <part name="Result" type="typens:StatusResult"/>
  </message>

  <message name="doGetUptime">
    <part name="username" type="xsd:string"/>
    <part name="key" type="xsd:string"/>
    <part name="location" type="xsd:int"/>
    <part name="targetType" type="xsd:string"/>
    <part name="targetID" type="xsd:anySimpleType"/>
    <part name="month" type="xsd:int"/>
    <part name="year" type="xsd:int"/>
    <part name="endmonth" type="xsd:int" minOccurs="0" maxOccurs="1"/>
    <part name="endyear" type="xsd:int" minOccurs="0" maxOccurs="1"/>
  </message>

  <message name="doGetUptimeResponse">
    <part name="Uptime" type="typens:UptimeResult"/>
  </message>

  <message name="doInstantTest">
    <part name="username" type="xsd:string"/>
    <part name="key" type="xsd:string"/>
    <part name="location" type="xsd:int"/>
    <part name="targetType" type="xsd:string"/>
    <part name="targetID" type="xsd:int"/>
  </message>

  <message name="doInstantFullpageTest">
    <part name="username" type="xsd:string"/>
    <part name="key" type="xsd:string"/>
    <part name="location" type="xsd:int"/>
    <part name="targetID" type="xsd:int"/>
  </message>

  <message name="doInstantFullpageTestResponse">
    <part name="Result" type="typens:InstantFullpageTestResult"/>
  </message>

  <message name="doInstantTestResponse">
    <part name="Result" type="typens:InstantTestResult"/>
  </message>

  <message name="doInstantTransactionTest">
    <part name="username" type="xsd:string"/>
    <part name="key" type="xsd:string"/>
    <part name="location" type="xsd:int"/>
    <part name="targetID" type="xsd:int"/>
  </message>

  <message name="doInstantTransactionTestResponse">
    <part name="Result" type="typens:InstantTransactionTestResult"/>
  </message>

  <message name="doInstantFullpageTransactionTest">
    <part name="username" type="xsd:string"/>
    <part name="key" type="xsd:string"/>
    <part name="location" type="xsd:int"/>
    <part name="targetID" type="xsd:int"/>
  </message>

  <message name="doInstantFullpageTransactionTestResponse">
    <part name="Result" type="typens:InstantFullpageTransactionTestResult"/>
  </message>

  <message name="doUpdateTargetStatusRequest">
    <part name="username" type="xsd:string"/>
    <part name="key" type="xsd:string"/>
    <part name="targetType" type="xsd:string"/>
    <part name="targetID" type="xsd:anySimpleType"/>
    <part name="action" type="xsd:string"/>
  </message>

  <message name="doUpdateTargetStatusResponse">
    <part name="Result" type="xsd:string"/>
  </message>

  <message name="doGetSettingsRequest">
    <part name="username" type="xsd:string"/>
    <part name="key" type="xsd:string"/>
    <part name="targetType" type="xsd:string"/>
    <part name="targetID" type="xsd:anySimpleType"/>
    <part name="showBasicSettings" type="xsd:boolean" minOccurs="0" maxOccurs="1" default="true" />
    <part name="showAdvancedSettings" type="xsd:boolean" minOccurs="0" maxOccurs="1"  default="true" />
    <part name="showMonitoringLocations" type="xsd:boolean" minOccurs="0" maxOccurs="1" default="true" />
  </message>

  <message name="doGetSettingsResponse">
    <part name="Result" type="typens:SettingsResult"/>
  </message>

  <!-- Port for WebSitePulse Web APIs-->

  <portType name="WebSitePulsePort">
    <operation name="doGetStatus">
      <input message="typens:doGetStatus"/>
      <output message="typens:doGetStatusResponse"/>
    </operation>
    <operation name="doGetUptime">
      <input message="typens:doGetUptime"/>
      <output message="typens:doGetUptimeResponse"/>
    </operation>
    <operation name="doInstantTest">
      <input message="typens:doInstantTest"/>
      <output message="typens:doInstantTestResponse"/>
    </operation>
    <operation name="doInstantFullpageTest">
      <input message="typens:doInstantFullpageTest"/>
      <output message="typens:doInstantFullpageTestResponse"/>
    </operation>
    <operation name="doInstantTransactionTest">
      <input message="typens:doInstantTransactionTest"/>
      <output message="typens:doInstantTransactionTestResponse"/>
    </operation>
    <operation name="doInstantFullpageTransactionTest">
      <input message="typens:doInstantFullpageTransactionTest"/>
      <output message="typens:doInstantFullpageTransactionTestResponse"/>
    </operation>
    <operation name="doUpdateTargetStatus">
      <input message="typens:doUpdateTargetStatusRequest"/>
      <output message="typens:doUpdateTargetStatusResponse"/>
    </operation>
    <operation name="doGetSettings">
      <input message="typens:doGetSettingsRequest"/>
      <output message="typens:doGetSettingsResponse"/>
    </operation>
  </portType>


  <!-- Binding for WebSitePulse Web APIs - RPC, SOAP over HTTP -->

  <binding name="WebSitePulseBinding" type="typens:WebSitePulsePort">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

    <operation name="doGetStatus">
      <soap:operation soapAction="urn:doGetStatusAction"/>
      <input>
        <soap:body use="encoded" namespace="WebSitePulse" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded" namespace="WebSitePulse" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
    <operation name="doGetUptime">
      <soap:operation soapAction="urn:doGetUptimeAction"/>
      <input>
        <soap:body use="encoded" namespace="WebSitePulse" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded" namespace="WebSitePulse" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
    <operation name="doInstantTest">
      <soap:operation soapAction="urn:doInstantTestAction"/>
      <input>
        <soap:body use="encoded" namespace="WebSitePulse" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded" namespace="WebSitePulse" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
    <operation name="doInstantFullpageTest">
      <soap:operation soapAction="urn:doInstantFullpageTestAction"/>
      <input>
        <soap:body use="encoded" namespace="WebSitePulse" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded" namespace="WebSitePulse" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
    <operation name="doInstantTransactionTest">
      <soap:operation soapAction="urn:doInstantTransactionTestAction"/>
      <input>
        <soap:body use="encoded" namespace="WebSitePulse" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded" namespace="WebSitePulse" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
    <operation name="doInstantFullpageTransactionTest">
      <soap:operation soapAction="urn:doInstantFullpageTransactionTestAction"/>
      <input>
        <soap:body use="encoded" namespace="WebSitePulse" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded" namespace="WebSitePulse" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
    <operation name="doUpdateTargetStatus">
      <soap:operation soapAction="urn:doUpdateTargetStatusAction"/>
      <input>
        <soap:body use="encoded" namespace="WebSitePulse" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded" namespace="WebSitePulse" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
    <operation name="doGetSettings">
      <soap:operation soapAction="urn:doGetSettingsAction"/>
      <input>
        <soap:body use="encoded" namespace="WebSitePulse" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded" namespace="WebSitePulse" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
  </binding>

  <!-- Endpoint for WebSitePulse Web APIs -->
  <service name="WebSitePulseService">
    <port name="WebSitePulsePort" binding="typens:WebSitePulseBinding">
      <soap:address location="http://api.websitepulse.com/server.php"/>
    </port>
  </service>

</definitions>
