<?xml version="1.0" encoding="UTF-8"?>
<definitions name="ScudService" targetNamespace="http://%servername%/webservice/scud/wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/" 
    xmlns:tns="http://%servername%/webservice/scud/wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    
    <documentation>              
        Передача информации от СКУД о входе-выходе учеников в ОО
    </documentation>    
    
    <types>
        <xs:schema targetNamespace="http://%servername%/webservice/scud/wsdl" xmlns:tns="http://%servername%/webservice/scud/wsdl">
            
            <xs:element name="login">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="[a-zA-Z0-9\-_]{4,}"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            
            <xs:element name="password">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="[a-zA-Z0-9]{6,}"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            
            <xs:complexType name="eventRecord">
                <xs:sequence>
                    <xs:element name="organizationUid" type="xs:string" minOccurs="1" maxOccurs="1"/>
                    <xs:element name="systemUid" type="xs:string" minOccurs="1" maxOccurs="1"/>
                    <xs:element name="readerUid" type="xs:string" minOccurs="1" maxOccurs="1"/>
                    <xs:element name="studentUid" type="xs:string" minOccurs="1" maxOccurs="1"/>
                    <xs:element name="cardUid" type="xs:string" minOccurs="1" maxOccurs="1"/>
                    <xs:element name="directionType" type="xs:string" minOccurs="1" maxOccurs="1"/>
                    <xs:element name="eventDate" type="xs:string" minOccurs="1" maxOccurs="1"/>
                </xs:sequence>
            </xs:complexType>                  
                     
            <xs:element name="eventList">
                <xs:annotation>
                    <xs:documentation>
                        Список событий
                    </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:all>
                        <xs:element name="event" type="tns:eventRecord" minOccurs="1"/>
                    </xs:all>
                </xs:complexType>
            </xs:element>
            
            <xs:element name="result">
                <xs:annotation>
                    <xs:documentation>
                        Результат обработки (1/true = успешно, 0/false = неуспешно)
                    </xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:boolean"/>
		</xs:simpleType>
            </xs:element>
            
        </xs:schema>
    </types>
    
    <message name="pushDataRequest">
        <part name="data" element="tns:eventList"/>
    </message>
    
    <message name="pushResponse">
        <part name="result" element="tns:result"/>
    </message>
    
    <message name="packageHeader">
        <part name="login" element="tns:login"/>
        <part name="password" element="tns:password"/>
    </message>
    
    <portType name="pushPersonPort">
        <documentation>
            Передача информации и входе-выходе учеников
        </documentation>
        <operation name="pushData">
            <input message="tns:pushDataRequest"/>
            <output message="tns:pushResponse"/>
        </operation>
    </portType>
    
    <binding name="pushPersonBinding" type="tns:pushPersonPort">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
        <operation name="pushData">
            <soap:operation soapAction=""/>
            <input>
                <soap:header message="tns:packageHeader" part="login" use="literal"/>
                <soap:header message="tns:packageHeader" part="password" use="literal"/>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
        </operation>
    </binding>
    <service name="PersonWebService">
        <documentation>Служба загрузки данных о входе-выходе учеников</documentation>
        <port name="pushPersonPort" binding="tns:pushPersonBinding">
            <soap:address location="http://%servername%/webservice/scud/execute"/>
        </port>
    </service>    
    
</definitions>