<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" targetNamespace="http://server.preuves.cedricom.com/" xmlns:tns="http://server.preuves.cedricom.com/" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="addArchive" type="tns:addArchive"/>

  <xs:element name="addArchiveResponse" type="tns:addArchiveResponse"/>

  <xs:element name="getArchList" type="tns:getArchList"/>

  <xs:element name="getArchListResponse" type="tns:getArchListResponse"/>

  <xs:element name="getArchive" type="tns:getArchive"/>

  <xs:element name="getArchiveResponse" type="tns:getArchiveResponse"/>

  <xs:element name="getExchanges" type="tns:getExchanges"/>

  <xs:element name="getExchangesResponse" type="tns:getExchangesResponse"/>

  <xs:element name="getFiles" type="tns:getFiles"/>

  <xs:element name="getFilesResponse" type="tns:getFilesResponse"/>

  <xs:element name="getProof" type="tns:getProof"/>

  <xs:element name="getProofResponse" type="tns:getProofResponse"/>

  <xs:element name="testConfig" type="tns:testConfig"/>

  <xs:element name="testConfigResponse" type="tns:testConfigResponse"/>

  <xs:element name="version" type="tns:version"/>

  <xs:element name="versionResponse" type="tns:versionResponse"/>

  <xs:complexType name="getArchList">
    <xs:sequence>
      <xs:element name="params" type="tns:proofParam" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="fields" type="xs:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="sort" type="xs:string" minOccurs="0"/>
      <xs:element name="order" type="xs:string" minOccurs="0"/>
      <xs:element name="pgIndex" type="xs:int"/>
      <xs:element name="nLines" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="proofParam">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="value" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="getArchListResponse">
    <xs:sequence>
      <xs:element name="prfListRsp" type="tns:proofListResponse" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="proofListResponse">
    <xs:sequence>
      <xs:element name="index" type="xs:long"/>
      <xs:element name="nbElt" type="xs:long"/>
      <xs:element name="nbPage" type="xs:long"/>
      <xs:element name="page" type="xs:long"/>
      <xs:element name="pagelength" type="xs:int"/>
      <xs:element name="proofs" type="tns:proofLine" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="rtnCode" type="xs:long"/>
      <xs:element name="rtnText" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="proofLine">
    <xs:sequence>
      <xs:element name="date" type="xs:string" minOccurs="0"/>
      <xs:element name="group" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:long"/>
      <xs:element name="prot" type="xs:string" minOccurs="0"/>
      <xs:element name="ref" type="xs:string" minOccurs="0"/>
      <xs:element name="sign1" type="xs:string" minOccurs="0"/>
      <xs:element name="sign2" type="xs:string" minOccurs="0"/>
      <xs:element name="user" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="getArchive">
    <xs:sequence>
      <xs:element name="ref" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="getArchiveResponse">
    <xs:sequence>
      <xs:element name="prfArchive" type="tns:proofDetail" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="proofDetail">
    <xs:sequence>
      <xs:element name="bank" type="xs:string" minOccurs="0"/>
      <xs:element name="dataSize" type="xs:long"/>
      <xs:element name="date" type="xs:string" minOccurs="0"/>
      <xs:element name="fileType" type="xs:string" minOccurs="0"/>
      <xs:element name="group" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:long"/>
      <xs:element name="protocole" type="xs:string" minOccurs="0"/>
      <xs:element name="ref" type="xs:string" minOccurs="0"/>
      <xs:element name="signers" type="tns:proofActor" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="user" type="tns:proofActor" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="proofActor">
    <xs:sequence>
      <xs:element name="certs" type="tns:proofCert" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="group" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:long"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="order" type="xs:int"/>
      <xs:element name="ref" type="xs:string" minOccurs="0"/>
      <xs:element name="role" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="proofCert">
    <xs:sequence>
      <xs:element name="AC" type="xs:string" minOccurs="0"/>
      <xs:element name="CN" type="xs:string" minOccurs="0"/>
      <xs:element name="dateBegin" type="xs:string" minOccurs="0"/>
      <xs:element name="dateEnd" type="xs:string" minOccurs="0"/>
      <xs:element name="email" type="xs:string" minOccurs="0"/>
      <xs:element name="exponent" type="xs:string" minOccurs="0"/>
      <xs:element name="file" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:long"/>
      <xs:element name="modulus" type="xs:string" minOccurs="0"/>
      <xs:element name="OU" type="xs:string" minOccurs="0"/>
      <xs:element name="ref" type="xs:string" minOccurs="0"/>
      <xs:element name="serial" type="xs:string" minOccurs="0"/>
      <xs:element name="usage" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="getFiles">
    <xs:sequence>
      <xs:element name="ref" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="getFilesResponse">
    <xs:sequence>
      <xs:element name="prfFiles" type="tns:proofFileDescr" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="proofFileDescr">
    <xs:sequence>
      <xs:element name="date" type="xs:string" minOccurs="0"/>
      <xs:element name="group" type="tns:proofFileDescr" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="id" type="xs:long"/>
      <xs:element name="info" type="xs:string" minOccurs="0"/>
      <xs:element name="MD5" type="xs:string" minOccurs="0"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="order" type="xs:int"/>
      <xs:element name="ref" type="xs:long"/>
      <xs:element name="size" type="xs:long"/>
      <xs:element name="type" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="getExchanges">
    <xs:sequence>
      <xs:element name="ref" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="getExchangesResponse">
    <xs:sequence>
      <xs:element name="prfExchanges" type="tns:proofExchangeResponse" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="proofExchangeResponse">
    <xs:sequence>
      <xs:element name="msgList" type="tns:proofFileDescr" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="nbMsg" type="xs:int"/>
      <xs:element name="rtnCode" type="xs:long"/>
      <xs:element name="rtnText" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="version">
    <xs:sequence/>
  </xs:complexType>

  <xs:complexType name="versionResponse">
    <xs:sequence>
      <xs:element name="version" type="tns:proofVersionResponse" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="proofVersionResponse">
    <xs:sequence>
      <xs:element name="date" type="xs:string" minOccurs="0"/>
      <xs:element name="rtnCode" type="xs:long"/>
      <xs:element name="rtnText" type="xs:string" minOccurs="0"/>
      <xs:element name="version" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="testConfig">
    <xs:sequence>
      <xs:element name="token" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="testConfigResponse">
    <xs:sequence>
      <xs:element name="config" type="tns:proofConfigResponse" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="proofConfigResponse">
    <xs:sequence>
      <xs:element name="database" type="xs:string" minOccurs="0"/>
      <xs:element name="exchDir" type="xs:string" minOccurs="0"/>
      <xs:element name="iniFile" type="xs:string" minOccurs="0"/>
      <xs:element name="rtnCode" type="xs:long"/>
      <xs:element name="rtnText" type="xs:string" minOccurs="0"/>
      <xs:element name="baseStatus" type="xs:int"/>
      <xs:element name="dirStatus" type="xs:int"/>
      <xs:element name="exchStatus" type="xs:int"/>
      <xs:element name="iniStatus" type="xs:int"/>
      <xs:element name="workDir" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="getProof">
    <xs:sequence>
      <xs:element name="ref" type="xs:long"/>
      <xs:element name="files" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="getProofResponse">
    <xs:sequence>
      <xs:element name="prfFiles" type="tns:proofFileResponse" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="proofFileResponse">
    <xs:sequence>
      <xs:element name="filename" type="xs:string" minOccurs="0"/>
      <xs:element name="rtnCode" type="xs:long"/>
      <xs:element name="rtnText" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="addArchive">
    <xs:sequence>
      <xs:element name="descr" type="xs:string" minOccurs="0"/>
      <xs:element name="zippped" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="addArchiveResponse">
    <xs:sequence>
      <xs:element name="addRsp" type="tns:proofAddResponse" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="proofAddResponse">
    <xs:sequence>
      <xs:element name="ref" type="xs:long"/>
      <xs:element name="rtnCode" type="xs:long"/>
      <xs:element name="rtnText" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

