<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="wsdl-viewer.xsl"?>
<wsdl:definitions targetNamespace="http://clapi.itraff.pl" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://clapi.itraff.pl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns2="http://xml.apache.org/xml-soap">  
  <wsdl:message name="authSoapIn">
    <wsdl:part name="client_id" type="s:string">
	<wsdl:documentation>ID generated for client</wsdl:documentation>
    </wsdl:part>
    <wsdl:part name="key_clapi" type="s:string">
	<wsdl:documentation>Secret key</wsdl:documentation>
    </wsdl:part>
    <wsdl:part name="ip" type="s:string">
	<wsdl:documentation>IP address permited for reading images from ClAPI. If NULL or empty - IP of current request</wsdl:documentation>
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="authSoapOut">
    <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>
  <wsdl:message name="userGetSoapIn"/>
  <wsdl:message name="userGetSoapOut">
    <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>
  <wsdl:message name="userUpdateSoapIn">
    <wsdl:part name="info_billing" type="ns2:Map"/>
    <wsdl:part name="info_invoice" type="ns2:Map"/>
  </wsdl:message>
  <wsdl:message name="userUpdateSoapOut">
      <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>  
  <wsdl:message name="userDeleteSoapIn"/>
  <wsdl:message name="userDeleteSoapOut">
    <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>  
  <wsdl:message name="userProSoapIn"/>
  <wsdl:message name="userProSoapOut">
      <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>  
  <wsdl:message name="userLimitsSoapIn"/>
  <wsdl:message name="userLimitsSoapOut">
    <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>  
  <wsdl:message name="imageCountSoapIn"/>
  <wsdl:message name="imageCountSoapOut">
    <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>  
  <wsdl:message name="imageMetaSoapIn">
  </wsdl:message>
  <wsdl:message name="imageMetaSoapOut">
    <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>  

  <wsdl:message name="imageListSoapIn">
    <wsdl:part name="params" type="ns2:Map"/>
  </wsdl:message>
  <wsdl:message name="imageListSoapOut">
    <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>  
  <wsdl:message name="imageInsertSoapIn">
    <wsdl:part name="id" type="s:string"/>
    <wsdl:part name="name" type="s:string"/>
    <wsdl:part name="data" type="s:string"/>
  </wsdl:message>
  <wsdl:message name="imageInsertSoapOut">
    <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>  
  <wsdl:message name="imageUpdateSoapIn">
    <wsdl:part name="ID" type="s:string"/>
    <wsdl:part name="data" type="ns2:Map"/>
  </wsdl:message>
  <wsdl:message name="imageUpdateSoapOut">
      <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>  
  <wsdl:message name="imageDeleteSoapIn">
    <wsdl:part name="ID" type="s:string"/>
  </wsdl:message>
  <wsdl:message name="imageDeleteSoapOut">
    <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>  
  <wsdl:message name="imageGetSoapIn">
    <wsdl:part name="id" type="s:string"/>
  </wsdl:message>
  <wsdl:message name="imageGetSoapOut">
      <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>  
  <wsdl:message name="indexBuildSoapIn"/>
  <wsdl:message name="indexBuildSoapOut">
    <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>  
  <wsdl:message name="paymentListSoapIn"/>
  <wsdl:message name="paymentListSoapOut">
    <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>  

  <wsdl:message name="callbackSoapIn">
    <wsdl:part name="callbackURL" type="s:anyURI"/>
  </wsdl:message>
  <wsdl:message name="callbackSoapOut">
    <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>  
  <wsdl:message name="indexStatusSoapIn"/>
  <wsdl:message name="indexStatusSoapOut">
    <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>  
  <wsdl:message name="keyGetSoapIn">
    <wsdl:part name="regenerate" type="s:boolean"/>
  </wsdl:message>
  <wsdl:message name="keyGetSoapOut">
    <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>  
  <wsdl:message name="modeChangeSoapIn"/>
  <wsdl:message name="modeChangeSoapOut">
    <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>  
  <wsdl:message name="modeGetSoapIn"/>
  <wsdl:message name="modeGetSoapOut">
    <wsdl:part name="return" type="ns2:Map"/>
  </wsdl:message>  

  <wsdl:portType name="iTraffSoap">
    <wsdl:operation name="auth" parameterOrder="client_id key_clapi ip">
	<wsdl:documentation>Authorization of user</wsdl:documentation> 
      <wsdl:input message="tns:authSoapIn"/>
      <wsdl:output message="tns:authSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="userGet">
      <wsdl:input message="tns:userGetSoapIn"/>
      <wsdl:output message="tns:userGetSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="userUpdate" parameterOrder="info_billing info_invoice">
      <wsdl:input message="tns:userUpdateSoapIn"/>
      <wsdl:output message="tns:userUpdateSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="userDelete">
      <wsdl:input message="tns:userDeleteSoapIn"/>
      <wsdl:output message="tns:userDeleteSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="userPro">
      <wsdl:input message="tns:userProSoapIn"/>
      <wsdl:output message="tns:userProSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="userLimits">
      <wsdl:input message="tns:userLimitsSoapIn"/>
      <wsdl:output message="tns:userLimitsSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="paymentList">
      <wsdl:input message="tns:paymentListSoapIn"/>
      <wsdl:output message="tns:paymentListSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="imageCount">
      <wsdl:input message="tns:imageCountSoapIn"/>
      <wsdl:output message="tns:imageCountSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="imageMeta">
      <wsdl:input message="tns:imageMetaSoapIn"/>
      <wsdl:output message="tns:imageMetaSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="imageList">
      <wsdl:input message="tns:imageListSoapIn"/>
      <wsdl:output message="tns:imageListSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="imageInsert" parameterOrder="id name data">
      <wsdl:input message="tns:imageInsertSoapIn"/>
      <wsdl:output message="tns:imageInsertSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="imageUpdate" parameterOrder="ID data">
      <wsdl:input message="tns:imageUpdateSoapIn"/>
      <wsdl:output message="tns:imageUpdateSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="imageDelete">
      <wsdl:input message="tns:imageDeleteSoapIn"/>
      <wsdl:output message="tns:imageDeleteSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="imageGet">
      <wsdl:input message="tns:imageGetSoapIn" />
      <wsdl:output message="tns:imageGetSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="indexBuild">
	<wsdl:documentation>Build index for current user</wsdl:documentation>
      <wsdl:input message="tns:indexBuildSoapIn"/>
      <wsdl:output message="tns:indexBuildSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="callback">
      <wsdl:input message="tns:callbackSoapIn"/>
      <wsdl:output message="tns:callbackSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="indexStatus">
	<wsdl:documentation>Check status of index-bulding process</wsdl:documentation>
      <wsdl:input message="tns:indexStatusSoapIn"/>
      <wsdl:output message="tns:indexStatusSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="keyGet">
 <wsdl:documentation>Get clapi_key for current user. If param 'regenerate' is true, generate new key before returning it</wsdl:documentation>
      <wsdl:input message="tns:keyGetSoapIn"/>
      <wsdl:output message="tns:keyGetSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="modeChange">
 <wsdl:documentation>Change recognition mode for current user</wsdl:documentation>
      <wsdl:input message="tns:modeChangeSoapIn"/>
      <wsdl:output message="tns:modeChangeSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="modeGet">
 <wsdl:documentation>Get recognition mode for current user.</wsdl:documentation>
      <wsdl:input message="tns:modeGetSoapIn"/>
      <wsdl:output message="tns:modeGetSoapOut"/>
    </wsdl:operation>
  </wsdl:portType>

  <wsdl:binding name="iTraffSoap" type="tns:iTraffSoap">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="auth">
      <soap:operation soapAction="http://clapi.itraff.pl#auth"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" parts="client_id key_clapi ip" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" parts="return" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="userGet">
      <soap:operation soapAction="http://clapi.itraff.pl#userGet"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="userUpdate">
      <soap:operation soapAction="http://clapi.itraff.pl#userUpdate"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" parts="info_billing info_invoice" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="userDelete">
      <soap:operation soapAction="http://clapi.itraff.pl#userDelete"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="userPro">
      <soap:operation soapAction="http://clapi.itraff.pl#userPro"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" parts="return" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="userLimits">
      <soap:operation soapAction="http://clapi.itraff.pl#userLimits"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="imageCount">
      <soap:operation soapAction="http://clapi.itraff.pl#imageCount"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" parts="return" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="imageMeta">
      <soap:operation soapAction="http://clapi.itraff.pl#imageMeta"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" parts="return" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="imageList">
      <soap:operation soapAction="http://clapi.itraff.pl#imageList"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" parts="params" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="imageInsert">
      <soap:operation soapAction="http://clapi.itraff.pl#imageInsert"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" parts="id name data" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="imageUpdate">
      <soap:operation soapAction="http://clapi.itraff.pl#imageUpdate"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" parts="ID data" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="imageDelete">
      <soap:operation soapAction="http://clapi.itraff.pl#imageDelete"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" parts="ID" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="imageGet">
      <soap:operation soapAction="http://clapi.itraff.pl#imageGet"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" parts="id" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="indexBuild">
      <soap:operation soapAction="http://clapi.itraff.pl#indexBuild"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="callback">
      <soap:operation soapAction="http://clapi.itraff.pl#callback"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" parts="callbackURL" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="indexStatus">
      <soap:operation soapAction="http://clapi.itraff.pl#indexStatus"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="keyGet">
      <soap:operation soapAction="http://clapi.itraff.pl#keyGet"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" parts="regenerate" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="modeGet">
      <soap:operation soapAction="http://clapi.itraff.pl#modeGet"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="modeChange">
      <soap:operation soapAction="http://clapi.itraff.pl#modeChange"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>


    <wsdl:operation name="paymentList">
      <soap:operation soapAction="http://clapi.itraff.pl#paymentList"/>
      <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://clapi.itraff.pl" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>

  </wsdl:binding>
  <wsdl:service name="iTraff">
    <wsdl:port binding="tns:iTraffSoap" name="iTraffSoap">
      <soap:address location="http://clapi.itraff.pl"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

