<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:typens="urn:{{var wsdl.name}}"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
             xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
             name="{{var wsdl.name}}"
             targetNamespace="urn:{{var wsdl.name}}">
    <wsdl:types>
        <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:{{var wsdl.name}}">
            <xsd:complexType name="directoryCountryEntity">
                <xsd:sequence>
                    <xsd:element name="country_id" type="xsd:string" />
                    <xsd:element name="iso2_code" type="xsd:string" />
                    <xsd:element name="iso3_code" type="xsd:string" />
                    <xsd:element name="name" type="xsd:string" />
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="directoryCountryEntityArray">
                <xsd:sequence>
                    <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:directoryCountryEntity" />
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="directoryRegionEntity">
                <xsd:sequence>
                    <xsd:element name="region_id" type="xsd:string" />
                    <xsd:element name="code" type="xsd:string" />
                    <xsd:element name="name" type="xsd:string" />
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="directoryRegionEntityArray">
                <xsd:sequence>
                    <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:directoryRegionEntity" />
                </xsd:sequence>
            </xsd:complexType>


            <xsd:element name="directoryCountryListRequestParam">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="directoryCountryListResponseParam">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:directoryCountryEntityArray" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="directoryRegionListRequestParam">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
                        <xsd:element minOccurs="1" maxOccurs="1" name="country" type="xsd:string" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="directoryRegionListResponseParam">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:directoryRegionEntityArray" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:schema>
    </wsdl:types>
    <wsdl:message name="directoryCountryListRequest">
        <wsdl:part name="parameters" element="typens:directoryCountryListRequestParam" />
    </wsdl:message>
    <wsdl:message name="directoryCountryListResponse">
        <wsdl:part name="parameters" element="typens:directoryCountryListResponseParam" />
    </wsdl:message>
    <wsdl:message name="directoryRegionListRequest">
        <wsdl:part name="parameters" element="typens:directoryRegionListRequestParam" />
    </wsdl:message>
    <wsdl:message name="directoryRegionListResponse">
        <wsdl:part name="parameters" element="typens:directoryRegionListResponseParam" />
    </wsdl:message>
    <wsdl:portType name="{{var wsdl.handler}}PortType">
        <wsdl:operation name="directoryCountryList">
            <wsdl:documentation>List of countries</wsdl:documentation>
            <wsdl:input message="typens:directoryCountryListRequest" />
            <wsdl:output message="typens:directoryCountryListResponse" />
        </wsdl:operation>
        <wsdl:operation name="directoryRegionList">
            <wsdl:documentation>List of regions in specified country</wsdl:documentation>
            <wsdl:input message="typens:directoryRegionListRequest" />
            <wsdl:output message="typens:directoryRegionListResponse" />
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
        <wsdl:operation name="directoryCountryList">
            <soap:operation soapAction="" />
            <wsdl:input>
                <soap:body use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" />
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="directoryRegionList">
            <soap:operation soapAction="" />
            <wsdl:input>
                <soap:body use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" />
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="{{var wsdl.name}}Service">
        <wsdl:port name="{{var wsdl.handler}}Port" binding="typens:{{var wsdl.handler}}Binding">
            <soap:address location="{{var wsdl.url}}" />
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>
