<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
        xmlns:tns="http://www.entaxy.ru/basic-auth-service/"
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        name="basic-auth-service"
        targetNamespace="http://www.entaxy.ru/basic-auth-service/">
    <wsdl:types>
        <xsd:schema targetNamespace="http://www.entaxy.ru/basic-auth-service/" elementFormDefault="qualified">
            <xsd:element name="accountList" type="tns:accountListType"/>
            <xsd:element name="response" type="xsd:boolean"/>
            <xsd:complexType name="accountListType">
                <xsd:sequence>
                    <xsd:element name="account" type="tns:accountType" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="accountType">
                <xsd:sequence>
                    <xsd:element name="login" type="xsd:string"/>
                    <xsd:element name="password" type="xsd:string"/>
                    <xsd:element name="systemUUID" type="xsd:string" minOccurs="0"/>
                </xsd:sequence>
            </xsd:complexType>
            <xsd:element name="loginList" type="tns:loginListType"/>
            <xsd:complexType name="loginListType">
                <xsd:sequence>
                    <xsd:element name="login" type="xsd:string" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:complexType>

            <xsd:element name="permissionList" type="tns:permissionListType"/>
            <xsd:complexType name="permissionListType">
                <xsd:sequence>
                    <xsd:element name="permission" type="tns:permissionType" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="permissionType">
                <xsd:sequence>
                    <xsd:element name="login" type="xsd:string"/>
                    <xsd:element name="subject" type="xsd:string"/>
                    <xsd:element name="subjectType" type="xsd:string"/>
                    <xsd:element name="action" type="xsd:string" minOccurs="0"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:schema>
    </wsdl:types>

    <wsdl:message name="addAccountRequest">
        <wsdl:part name="request" element="tns:accountList"/>
    </wsdl:message>
    <wsdl:message name="addAccountResponse">
        <wsdl:part name="response" element="tns:response"/>
    </wsdl:message>
    <wsdl:message name="updateAccountRequest">
        <wsdl:part name="request" element="tns:accountList"/>
    </wsdl:message>
    <wsdl:message name="updateAccountResponse">
        <wsdl:part name="response" element="tns:response"/>
    </wsdl:message>
    <wsdl:message name="removeAccountRequest">
        <wsdl:part name="request" element="tns:loginList"/>
    </wsdl:message>
    <wsdl:message name="removeAccountResponse">
        <wsdl:part name="response" element="tns:response"/>
    </wsdl:message>
    <wsdl:message name="addAccountPermissionRequest">
        <wsdl:part name="request" element="tns:permissionList"/>
    </wsdl:message>
    <wsdl:message name="addAccountPermissionResponse">
        <wsdl:part name="response" element="tns:response"/>
    </wsdl:message>
    <wsdl:message name="removeAccountPermissionRequest">
        <wsdl:part name="request" element="tns:permissionList"/>
    </wsdl:message>
    <wsdl:message name="removeAccountPermissionResponse">
        <wsdl:part name="response" element="tns:response"/>
    </wsdl:message>

    <wsdl:portType name="basic-auth-service">
        <wsdl:operation name="addAccount">
            <wsdl:input message="tns:addAccountRequest"/>
            <wsdl:output message="tns:addAccountResponse"/>
        </wsdl:operation>
        <wsdl:operation name="updateAccount">
            <wsdl:input message="tns:updateAccountRequest"/>
            <wsdl:output message="tns:updateAccountResponse"/>
        </wsdl:operation>
        <wsdl:operation name="removeAccount">
            <wsdl:input message="tns:removeAccountRequest"/>
            <wsdl:output message="tns:removeAccountResponse"/>
        </wsdl:operation>
        <wsdl:operation name="addAccountPermission">
            <wsdl:input message="tns:addAccountPermissionRequest"/>
            <wsdl:output message="tns:addAccountPermissionResponse"/>
        </wsdl:operation>
        <wsdl:operation name="removeAccountPermission">
            <wsdl:input message="tns:removeAccountPermissionRequest"/>
            <wsdl:output message="tns:removeAccountPermissionResponse"/>
        </wsdl:operation>
    </wsdl:portType>

    <wsdl:binding name="basic-auth-serviceSOAP" type="tns:basic-auth-service">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="addAccount">
            <soap:operation soapAction="http://www.entaxy.ru/basic-auth-service/add-account"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="updateAccount">
            <soap:operation soapAction="http://www.entaxy.ru/basic-auth-service/update-account"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="removeAccount">
            <soap:operation soapAction="http://www.entaxy.ru/basic-auth-service/update-account"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="addAccountPermission">
            <soap:operation soapAction="http://www.entaxy.ru/basic-auth-service/add-account-permission"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="removeAccountPermission">
            <soap:operation soapAction="http://www.entaxy.ru/basic-auth-service/remove-account-permission"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>

    <wsdl:service name="basic-auth-service">
        <wsdl:port name="basic-auth-serviceSOAP" binding="tns:basic-auth-serviceSOAP">
            <soap:address location="http://dev.esbHost.ru/"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>
