<?xml version="1.0" encoding="UTF-8" ?>

 <wsdl:definitions targetNamespace="urn:datafeed.dukascopy.com"
   xmlns="http://schemas.xmlsoap.org/wsdl/"
   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
   xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
   xmlns:apachesoap="http://xml.apache.org/xml-soap"
   xmlns:intf="urn:datafeed.dukascopy.com"
   xmlns:impl="urn:datafeed.dukascopy.com">

 <types>

 <schema xmlns="http://www.w3.org/2001/XMLSchema"
   targetNamespace="urn:datafeed.dukascopy.com"> 

 <import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> 

 <complexType name="Stock">
 <sequence>
  <element name="about_stock" nillable="true" type="xsd:string" /> 
  <element name="id" type="xsd:int" /> 
  <element name="name" nillable="true" type="xsd:string" /> 
  <element name="pips" type="xsd:double" /> 
  <element name="quote_type" type="xsd:int" /> 
  </sequence>
 </complexType>

 <complexType name="Candle">
 <sequence>
  <element name="artificial" type="xsd:boolean" /> 
  <element name="closePrice" type="xsd:double" /> 
  <element name="flat" type="xsd:boolean" /> 
  <element name="id" type="xsd:int" /> 
  <element name="maxPrice" type="xsd:double" /> 
  <element name="minPrice" type="xsd:double" /> 
  <element name="openPrice" type="xsd:double" /> 
  <element name="periodType" type="xsd:int" /> 
  <element name="time" type="xsd:long" /> 
  <element name="timeIndex" type="xsd:int" /> 
  <element name="volume" type="xsd:long" /> 
  </sequence>
 </complexType>

 <complexType name="ArrayOfCandle">
 <complexContent>
 <restriction base="soapenc:Array">
  <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:Candle[]" /> 
  </restriction>
  </complexContent>
 </complexType>

 <complexType name="ArrayOfStock">
 <complexContent>
 <restriction base="soapenc:Array">
  <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:Stock[]" /> 
  </restriction>
  </complexContent>
 </complexType>
 </schema>
 </types>

 <wsdl:message name="testRequest">
  <wsdl:part name="stock" type="xsd:int" /> 
  </wsdl:message>

 <wsdl:message name="getHistoryResponse">
  <wsdl:part name="getHistoryReturn" type="impl:ArrayOfCandle" /> 
  </wsdl:message>

 <wsdl:message name="getStocksResponse">
  <wsdl:part name="getStocksReturn" type="impl:ArrayOfStock" /> 
  </wsdl:message>

  <wsdl:message name="getStocksRequest" /> 
  <wsdl:message name="getLastRequest">
     <wsdl:part name="stock" type="xsd:int" /> 
     <wsdl:part name="type" type="xsd:int" /> 
     <wsdl:part name="amount" type="xsd:int" /> 
  </wsdl:message>

 <wsdl:message name="getNearestResponse">
  <wsdl:part name="getNearestReturn" type="impl:Candle" /> 
 </wsdl:message>

 <wsdl:message name="getLastResponse">
  <wsdl:part name="getLastReturn" type="impl:ArrayOfCandle" /> 
 </wsdl:message>

 <wsdl:message name="getLastTimeRequest">
  <wsdl:part name="type" type="xsd:int" /> 
 </wsdl:message>

 <wsdl:message name="testResponse" /> 

 <wsdl:message name="getLastAllResponse">
  <wsdl:part name="getLastAllReturn" type="impl:ArrayOfCandle" /> 
 </wsdl:message>

 <wsdl:message name="getLastAllRequest">
  <wsdl:part name="type" type="xsd:int" /> 
 </wsdl:message>

 <wsdl:message name="pingResponse">
  <wsdl:part name="pingReturn" type="xsd:int" /> 
 </wsdl:message>

 <wsdl:message name="getLastTimeResponse">
  <wsdl:part name="getLastTimeReturn" type="xsd:long" /> 
 </wsdl:message>

 <wsdl:message name="pingRequest">
  <wsdl:part name="value" type="xsd:int" /> 
 </wsdl:message>

 <wsdl:message name="getNearestRequest">
  <wsdl:part name="stock" type="xsd:int" /> 
  <wsdl:part name="type" type="xsd:int" /> 
  <wsdl:part name="time" type="xsd:long" /> 
 </wsdl:message>

 <wsdl:message name="getHistoryRequest">
  <wsdl:part name="stock" type="xsd:int" /> 
  <wsdl:part name="type" type="xsd:int" /> 
  <wsdl:part name="startTime" type="xsd:long" /> 
  <wsdl:part name="endTime" type="xsd:long" /> 
 </wsdl:message>

 <wsdl:portType name="Datafeed">
 <wsdl:operation name="ping" parameterOrder="value">
  <wsdl:input name="pingRequest" message="impl:pingRequest" /> 
  <wsdl:output name="pingResponse" message="impl:pingResponse" /> 
  </wsdl:operation>

 <wsdl:operation name="test" parameterOrder="stock">
  <wsdl:input name="testRequest" message="impl:testRequest" /> 
  <wsdl:output name="testResponse" message="impl:testResponse" /> 
  </wsdl:operation>

 <wsdl:operation name="getLast" parameterOrder="stock type amount">
  <wsdl:input name="getLastRequest" message="impl:getLastRequest" /> 
  <wsdl:output name="getLastResponse" message="impl:getLastResponse" /> 
  </wsdl:operation>

 <wsdl:operation name="getStocks">
  <wsdl:input name="getStocksRequest" message="impl:getStocksRequest" /> 
  <wsdl:output name="getStocksResponse" message="impl:getStocksResponse" /> 
  </wsdl:operation>
 <wsdl:operation name="getHistory" parameterOrder="stock type startTime endTime">
  <wsdl:input name="getHistoryRequest" message="impl:getHistoryRequest" /> 
  <wsdl:output name="getHistoryResponse" message="impl:getHistoryResponse" /> 
  </wsdl:operation>
 <wsdl:operation name="getLastTime" parameterOrder="type">
  <wsdl:input name="getLastTimeRequest" message="impl:getLastTimeRequest" /> 
  <wsdl:output name="getLastTimeResponse" message="impl:getLastTimeResponse" /> 
  </wsdl:operation>

 <wsdl:operation name="getNearest" parameterOrder="stock type time">
  <wsdl:input name="getNearestRequest" message="impl:getNearestRequest" /> 
  <wsdl:output name="getNearestResponse" message="impl:getNearestResponse" /> 
  </wsdl:operation>

 <wsdl:operation name="getLastAll" parameterOrder="type">
  <wsdl:input name="getLastAllRequest" message="impl:getLastAllRequest" /> 
  <wsdl:output name="getLastAllResponse" message="impl:getLastAllResponse" /> 
  </wsdl:operation>
 </wsdl:portType>

 <wsdl:binding name="DatafeedSoapBinding" type="impl:Datafeed">

 <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> 

 <wsdl:operation name="ping">
  <wsdlsoap:operation soapAction="" /> 
 <wsdl:input name="pingRequest">
  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:datafeed.dukascopy.com" /> 
  </wsdl:input>
 <wsdl:output name="pingResponse">
  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:datafeed.dukascopy.com" /> 
  </wsdl:output>
  </wsdl:operation>

 <wsdl:operation name="test">
  <wsdlsoap:operation soapAction="" /> 
 <wsdl:input name="testRequest">
  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:datafeed.dukascopy.com" /> 
  </wsdl:input>
 <wsdl:output name="testResponse">
  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:datafeed.dukascopy.com" /> 
  </wsdl:output>
  </wsdl:operation>
 <wsdl:operation name="getLast">
  <wsdlsoap:operation soapAction="" /> 
 <wsdl:input name="getLastRequest">
  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:datafeed.dukascopy.com" /> 
  </wsdl:input>
 <wsdl:output name="getLastResponse">
  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:datafeed.dukascopy.com" /> 
  </wsdl:output>
  </wsdl:operation>
 <wsdl:operation name="getStocks">
  <wsdlsoap:operation soapAction="" /> 
 <wsdl:input name="getStocksRequest">
  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:datafeed.dukascopy.com" /> 
  </wsdl:input>
 <wsdl:output name="getStocksResponse">
  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:datafeed.dukascopy.com" /> 
  </wsdl:output>
  </wsdl:operation>
 <wsdl:operation name="getHistory">
  <wsdlsoap:operation soapAction="" /> 
 <wsdl:input name="getHistoryRequest">
  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:datafeed.dukascopy.com" /> 
  </wsdl:input>
 <wsdl:output name="getHistoryResponse">
  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:datafeed.dukascopy.com" /> 
  </wsdl:output>
  </wsdl:operation>
 <wsdl:operation name="getLastTime">
  <wsdlsoap:operation soapAction="" /> 
 <wsdl:input name="getLastTimeRequest">
  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:datafeed.dukascopy.com" /> 
  </wsdl:input>
 <wsdl:output name="getLastTimeResponse">
  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:datafeed.dukascopy.com" /> 
  </wsdl:output>
  </wsdl:operation>
 <wsdl:operation name="getNearest">
  <wsdlsoap:operation soapAction="" /> 
 <wsdl:input name="getNearestRequest">
  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:datafeed.dukascopy.com" /> 
  </wsdl:input>
 <wsdl:output name="getNearestResponse">
  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:datafeed.dukascopy.com" /> 
  </wsdl:output>
  </wsdl:operation>
 <wsdl:operation name="getLastAll">
  <wsdlsoap:operation soapAction="" /> 
 <wsdl:input name="getLastAllRequest">
  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:datafeed.dukascopy.com" /> 
  </wsdl:input>
 <wsdl:output name="getLastAllResponse">
  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:datafeed.dukascopy.com" /> 
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>

 <wsdl:service name="DatafeedService">
 <wsdl:port name="Datafeed" binding="impl:DatafeedSoapBinding">
  <wsdlsoap:address location="http://localhost:9623" />
  </wsdl:port>
  </wsdl:service>

</wsdl:definitions>
