<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions
    xmlns:tns="http://minameddelanden.gov.se/service/Distributor/v4"
    xmlns:msgdefinition="http://minameddelanden.gov.se/service/Distributor/messagedefinition/v4"
    xmlns:commonv4="http://minameddelanden.gov.se/schema/Common/v4"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    name="DistributorDefinitions"
    targetNamespace="http://minameddelanden.gov.se/service/Distributor/v4">
    <wsdl:documentation>Version 4.0</wsdl:documentation>


    <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/service/Distributor/messagedefinition/v4"
                        schemaLocation="messagedefinition.v4/DistributorMsgd.xsd"/>
        </xsd:schema>
    </wsdl:types>

    <!-- Security Class 3, Message -->
    <wsdl:message name="distributeSecureRequestV4">
        <wsdl:part name="parameters" element="msgdefinition:distributeSecure"/>
    </wsdl:message>
    <wsdl:message name="distributeSecureResponseV4">
        <wsdl:part name="parameters" element="msgdefinition:distributeSecureResponse"/>
    </wsdl:message>
    <wsdl:message name="checkDistributionStatusRequestV4">
        <wsdl:part name="parameters" element="msgdefinition:checkDistributionStatus"/>
    </wsdl:message>
    <wsdl:message name="checkDistributionStatusResponseV4">
        <wsdl:part name="parameters" element="msgdefinition:checkDistributionStatusResponse"/>
    </wsdl:message>

    <!-- Security Class 1, Notification -->
    <wsdl:message name="distributeRequestV4">
        <wsdl:part name="parameters" element="msgdefinition:distribute"/>
    </wsdl:message>
    <wsdl:message name="distributeResponseV4">
        <wsdl:part name="parameters" element="msgdefinition:distributeResponse"/>
    </wsdl:message>

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

    <wsdl:portType name="DistributorPort-v4">
        <wsdl:operation name="distributeSecure">
            <wsdl:documentation>
                <xsd:annotation>
                    <xsd:documentation xml:lang="sv">Operationen begär förmedling av meddelanden
                        med skyddsklass 3 till en eller flera mottagare.</xsd:documentation>
                </xsd:annotation>
            </wsdl:documentation>
            <wsdl:input message="tns:distributeSecureRequestV4"/>
            <wsdl:output message="tns:distributeSecureResponseV4"/>
            <wsdl:fault name="fault" message="tns:applicationFaultV4"/>
        </wsdl:operation>
        <wsdl:operation name="checkDistributionStatus">
            <wsdl:documentation>
                <xsd:annotation>
                    <xsd:documentation xml:lang="sv">Operationen hämtar status för en tidigare
                        begärd förmedling av meddelanden. Om begärd förmedling inte ännu har
                        hunnit packats upp och lagts på kö för bearbetning kommer ett SOAP-fault
                        att skickas som svar från denna operation. När detta fel uppstår måste
                        ett nytt anrop göras vid ett senare tillfälle.</xsd:documentation>
                </xsd:annotation>
            </wsdl:documentation>
            <wsdl:input message="tns:checkDistributionStatusRequestV4"/>
            <wsdl:output message="tns:checkDistributionStatusResponseV4"/>
            <wsdl:fault name="fault" message="tns:applicationFaultV4"/>
        </wsdl:operation>
        <wsdl:operation name="distribute">
            <wsdl:documentation>
                <xsd:annotation>
                    <xsd:documentation xml:lang="sv">Skickar ett meddelande av skyddsklass 1
                        till en eller flera mottagare. Antalet mottagare är begränsat i ett
                        anrop till denna metod. Om antalet mottagare du vill skicka till
                        överskrider maxgränsen i tjänsten måste du dela upp begäran i flera
                        anrop till denna operation.</xsd:documentation>
                </xsd:annotation>
            </wsdl:documentation>
            <wsdl:input message="tns:distributeRequestV4"/>
            <wsdl:output message="tns:distributeResponseV4"/>
            <wsdl:fault name="fault" message="tns:applicationFaultV4"/>
        </wsdl:operation>
    </wsdl:portType>

    <wsdl:binding name="DistributorBinding-v4" type="tns:DistributorPort-v4">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="distributeSecure">
            <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="distribute">
            <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="checkDistributionStatus">
            <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="DistributorService-v4">
        <wsdl:documentation>
            <xsd:annotation>
                <xsd:documentation xml:lang="sv">En tjänst för att förmedla meddelanden enligt skyddsklass 3 och 1.
                    Tjänsten kan implementeras av förmedlare som förmedlar meddelanden, och då nyttjas av avsändare
                </xsd:documentation>
            </xsd:annotation>
        </wsdl:documentation>
        <wsdl:port name="DistributorPort-v4" binding="tns:DistributorBinding-v4">
            <wsdl:documentation>Version 4 of the service</wsdl:documentation>
            <soap:address location="http://minameddelanden.gov.se/service/distribute/v4"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>
