<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:tns="http://minameddelanden.gov.se/Authority"
                  xmlns:authorityv4="http://minameddelanden.gov.se/messagedefinition/Authority/v4"
                  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
                  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                  xmlns:commonv4="http://minameddelanden.gov.se/schema/Common/v4"
                  name="AuthorityDefinitions"
                  targetNamespace="http://minameddelanden.gov.se/Authority">
    <wsdl:types>
        <xsd:schema>
            <xsd:import namespace="http://minameddelanden.gov.se/schema/Common/v4"
                        schemaLocation="schema/v4/Common.xsd"/>
            <xsd:import namespace="http://minameddelanden.gov.se/messagedefinition/Authority/v4"
                        schemaLocation="messagedefinition.v4/AuthorityMsgd.xsd"/>
        </xsd:schema>
    </wsdl:types>

    <wsdl:message name="getDispatchersRequestV4">
        <wsdl:part name="parameters" element="authorityv4:getDispatchers"/>
    </wsdl:message>
    <wsdl:message name="getDispatchersResponseV4">
        <wsdl:part name="parameters" element="authorityv4:getDispatchersResponse"/>
    </wsdl:message>

    <wsdl:message name="getSendersRequestV4">
        <wsdl:part name="parameters" element="authorityv4:getSenders"/>
    </wsdl:message>
    <wsdl:message name="getSendersResponseV4">
        <wsdl:part name="parameters" element="authorityv4:getSendersResponse"/>
    </wsdl:message>

    <wsdl:message name="testNewSignerRequestV4">
        <wsdl:part name="parameters" element="authorityv4:testNewSigner"/>
    </wsdl:message>
    <wsdl:message name="testNewSignerResponseV4">
        <wsdl:part name="parameters" element="authorityv4:testNewSignerResponse"/>
    </wsdl:message>

    <!-- Fault(s) -->
    <wsdl:message name="applicationFaultV4">
        <wsdl:part name="fault" element="commonv4:applicationFaultDetail"/>
    </wsdl:message>

    <wsdl:portType name="AuthorityPort-v4">
        <wsdl:documentation>Port for V4</wsdl:documentation>
        <wsdl:operation name="getDispatchers">
            <wsdl:documentation>
                <xsd:annotation>
                    <xsd:documentation xml:lang="sv">Hämtar alla godkända förmedlare som är anslutna till FAR.</xsd:documentation>
                </xsd:annotation>
            </wsdl:documentation>
            <wsdl:input message="tns:getDispatchersRequestV4"/>
            <wsdl:output message="tns:getDispatchersResponseV4"/>
            <wsdl:fault name="fault" message="tns:applicationFaultV4"/>
        </wsdl:operation>
        <wsdl:operation name="getSenders">
            <wsdl:documentation>
                <xsd:annotation>
                    <xsd:documentation xml:lang="sv">Hämtar alla avsändare som anslutit sig till FAR.</xsd:documentation>
                </xsd:annotation>
            </wsdl:documentation>
            <wsdl:input message="tns:getSendersRequestV4"/>
            <wsdl:output message="tns:getSendersResponseV4"/>
            <wsdl:fault name="fault" message="tns:applicationFaultV4"/>
        </wsdl:operation>
        <wsdl:operation name="testNewSigner">
            <wsdl:documentation>
                <xsd:annotation>
                    <xsd:documentation xml:lang="en">Test whether a list of signers would be sufficient for a complete
                        signature of a document.</xsd:documentation>
                    <xsd:documentation xml:lang="sv">Testar om angivna personers underskrifter är tillräckliga
                        för en åtgärd för angivet konto genom att lägga till en underskrift till de underskrifter som
                        eventuellt redan är gjorda. Om kontot gäller en organisation sker
                        kontrollen enligt gällande firmateckning baserat på registeruppgifter från
                        Bolagsverket. Operationen kan användas för att testa resultatet av en
                        signering innan den genomförs.</xsd:documentation>
                </xsd:annotation>
            </wsdl:documentation>
            <wsdl:input message="tns:testNewSignerRequestV4"/>
            <wsdl:output message="tns:testNewSignerResponseV4"/>
            <wsdl:fault name="fault" message="tns:applicationFaultV4"/>
        </wsdl:operation>
    </wsdl:portType>

    <wsdl:binding name="AuthorityBinding-v4" type="tns:AuthorityPort-v4">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="getDispatchers">
            <soap:operation soapAction=""/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="fault">
                <soap:fault name="fault" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="getSenders">
            <soap:operation soapAction=""/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="fault">
                <soap:fault name="fault" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="testNewSigner">
            <soap:operation soapAction=""/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="fault">
                <soap:fault name="fault" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>
    </wsdl:binding>

    <wsdl:service name="Authority">
        <wsdl:documentation>
            <xsd:annotation>
                <xsd:documentation xml:lang="sv">En tjänst för att möjliggöra behörighetskontroller som tillhandahålls av
                    FAR för att säkra juridiska krav.</xsd:documentation>
            </xsd:annotation>
        </wsdl:documentation>
        <wsdl:port name="AuthorityPort-v4" binding="tns:AuthorityBinding-v4">
            <soap:address location="http://minameddelanden.gov.se/Authority/v4"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>
