<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" name="XfccBasicSoapservice" targetNamespace="http://tempuri.org/" xmlns:tns="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:ns1="http://www.bennedik.com/webservices/XfccBasic">
  <types>
    <xs:schema targetNamespace="http://www.bennedik.com/webservices/XfccBasic" xmlns="http://www.bennedik.com/webservices/XfccBasic">
      <xs:complexType name="ArrayOfXfccGame">
        <xs:complexContent>
          <xs:restriction base="soapenc:Array">
            <xs:sequence/>
            <xs:attribute ref="soapenc:arrayType" n1:arrayType="ns1:XfccGame[]" xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
          </xs:restriction>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="XfccGame">
        <xs:sequence>
          <xs:element name="id" type="xs:int"/>
          <xs:element name="white" type="xs:string"/>
          <xs:element name="black" type="xs:string"/>
          <xs:element name="event" type="xs:string"/>
          <xs:element name="site" type="xs:string"/>
          <xs:element name="myTurn" type="xs:boolean"/>
          <xs:element name="hasWhite" type="xs:boolean"/>
          <xs:element name="moves" type="xs:string"/>
          <xs:element name="drawOffered" type="xs:boolean"/>
          <xs:element name="message" type="xs:string"/>
          <xs:element name="whiteTitle" type="xs:string"/>
          <xs:element name="blackTitle" type="xs:string"/>
          <xs:element name="whiteElo" type="xs:int"/>
          <xs:element name="blackElo" type="xs:int"/>
          <xs:element name="whiteNA" type="xs:string"/>
          <xs:element name="blackNA" type="xs:string"/>
          <xs:element name="eventSponsor" type="xs:string"/>
          <xs:element name="section" type="xs:string"/>
          <xs:element name="stage" type="xs:string"/>
          <xs:element name="board" type="xs:string"/>
          <xs:element name="timeControl" type="xs:string"/>
          <xs:element name="setup" type="xs:boolean"/>
          <xs:element name="fen" type="xs:string"/>
          <xs:element name="result" type="ns1:Result"/>
          <xs:element name="daysPlayer" type="xs:int"/>
          <xs:element name="hoursPlayer" type="xs:int"/>
          <xs:element name="minutesPlayer" type="xs:int"/>
          <xs:element name="daysOpponent" type="xs:int"/>
          <xs:element name="hoursOpponent" type="xs:int"/>
          <xs:element name="minutesOpponent" type="xs:int"/>
          <xs:element name="serverInfo" type="xs:string"/>
          <xs:element name="gameLink" type="xs:string"/>
          <xs:element name="eventDate" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:simpleType name="Result">
        <xs:restriction base="xs:string">
          <xs:enumeration value="Ongoing"/>
          <xs:enumeration value="WhiteWins"/>
          <xs:enumeration value="BlackWins"/>
          <xs:enumeration value="Draw"/>
          <xs:enumeration value="WhiteWinAdjudicated"/>
          <xs:enumeration value="BlackWinAdjudicated"/>
          <xs:enumeration value="DrawAdjudicated"/>
          <xs:enumeration value="WhiteDefaulted"/>
          <xs:enumeration value="BlackDefaulted"/>
          <xs:enumeration value="BothDefaulted"/>
          <xs:enumeration value="Cancelled"/>
          <xs:enumeration value="AdjudicationPending"/>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="MakeAMoveResult">
        <xs:restriction base="xs:string">
          <xs:enumeration value="Success"/>
          <xs:enumeration value="ServerError"/>
          <xs:enumeration value="AuthenticationFailed"/>
          <xs:enumeration value="InvalidGameID"/>
          <xs:enumeration value="NotYourGame"/>
          <xs:enumeration value="NotYourTurn"/>
          <xs:enumeration value="InvalidMoveNumber"/>
          <xs:enumeration value="InvalidMove"/>
          <xs:enumeration value="NoDrawWasOffered"/>
          <xs:enumeration value="LostOnTime"/>
          <xs:enumeration value="YouAreOnLeave"/>
          <xs:enumeration value="MoveIsAmbigous"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:schema>
  </types>
  <message name="GetMyGames0Request">
    <part name="username" type="xs:string"/>
    <part name="password" type="xs:string"/>
  </message>
  <message name="GetMyGames0Response">
    <part name="return" type="ns1:ArrayOfXfccGame"/>
  </message>
  <message name="MakeAMove1Request">
    <part name="username" type="xs:string"/>
    <part name="password" type="xs:string"/>
    <part name="gameId" type="xs:int"/>
    <part name="resign" type="xs:boolean"/>
    <part name="acceptDraw" type="xs:boolean"/>
    <part name="movecount" type="xs:int"/>
    <part name="myMove" type="xs:string"/>
    <part name="offerDraw" type="xs:boolean"/>
    <part name="claimDraw" type="xs:boolean"/>
    <part name="myMessage" type="xs:string"/>
  </message>
  <message name="MakeAMove1Response">
    <part name="return" type="ns1:MakeAMoveResult"/>
  </message>
  <message name="MakeAMove22Request">
    <part name="username" type="xs:string"/>
    <part name="password" type="xs:string"/>
    <part name="gameId" type="xs:int"/>
    <part name="resign" type="xs:boolean"/>
    <part name="acceptDraw" type="xs:boolean"/>
    <part name="movecount" type="xs:int"/>
    <part name="myMove" type="xs:string"/>
    <part name="offerDraw" type="xs:boolean"/>
    <part name="claimDraw" type="xs:boolean"/>
    <part name="myMessage" type="xs:string"/>
    <part name="conditionals" type="xs:string"/>
  </message>
  <message name="MakeAMove22Response">
    <part name="return" type="ns1:MakeAMoveResult"/>
  </message>
  <portType name="XfccBasicSoap">
    <operation name="GetMyGames">
      <input message="tns:GetMyGames0Request"/>
      <output message="tns:GetMyGames0Response"/>
    </operation>
    <operation name="MakeAMove">
      <input message="tns:MakeAMove1Request"/>
      <output message="tns:MakeAMove1Response"/>
    </operation>
    <operation name="MakeAMove2">
      <input message="tns:MakeAMove22Request"/>
      <output message="tns:MakeAMove22Response"/>
    </operation>
  </portType>
  <binding name="XfccBasicSoapbinding" type="tns:XfccBasicSoap">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="GetMyGames">
      <soap:operation soapAction="http://www.bennedik.com/webservices/XfccBasic/GetMyGames" style="rpc"/>
      <input message="tns:GetMyGames0Request">
        <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.bennedik.com/webservices/XfccBasic"/>
      </input>
      <output message="tns:GetMyGames0Response">
        <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.bennedik.com/webservices/XfccBasic"/>
      </output>
    </operation>
    <operation name="MakeAMove">
      <soap:operation soapAction="http://www.bennedik.com/webservices/XfccBasic/MakeAMove" style="rpc"/>
      <input message="tns:MakeAMove1Request">
        <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.bennedik.com/webservices/XfccBasic"/>
      </input>
      <output message="tns:MakeAMove1Response">
        <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.bennedik.com/webservices/XfccBasic"/>
      </output>
    </operation>
    <operation name="MakeAMove2">
      <soap:operation soapAction="http://www.bennedik.com/webservices/XfccBasic/MakeAMove2" style="rpc"/>
      <input message="tns:MakeAMove22Request">
        <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.bennedik.com/webservices/XfccBasic"/>
      </input>
      <output message="tns:MakeAMove22Response">
        <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.bennedik.com/webservices/XfccBasic"/>
      </output>
    </operation>
  </binding>
  <service name="XfccBasicSoapservice">
    <port name="XfccBasicSoapPort" binding="tns:XfccBasicSoapbinding">
      <soap:address location="http://server.chessok.com:9002/soap/XfccBasicSoap"/>
    </port>
  </service>
</definitions>

