<?xml version="1.0" encoding="UTF-8"?>
<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/"
             xmlns="http://schemas.xmlsoap.org/wsdl/"
             name="{{var wsdl.name}}" targetNamespace="urn:{{var wsdl.name}}">
    <types>
        <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:Magento">
            <import namespace="http://schemas.xmlsoap.org/soap/encoding/"
                    schemaLocation="http://schemas.xmlsoap.org/soap/encoding/"/>
            <complexType name="catalogProductDownloadableLinkFileEntity">
                <all>
                    <element name="name" type="xsd:string" minOccurs="0" />
                    <element name="base64_content" type="xsd:string" minOccurs="0" />
                </all>
            </complexType>
            <complexType name="catalogProductDownloadableLinkAddSampleEntity">
                <all>
                    <element name="type" type="xsd:string" minOccurs="0" />
                    <element name="file" type="typens:catalogProductDownloadableLinkFileEntity" minOccurs="0" />
                    <element name="url" type="xsd:string" minOccurs="0" />
                </all>
            </complexType>
            <complexType name="catalogProductDownloadableLinkAddEntity">
                <all>
                    <element name="title" type="xsd:string" minOccurs="1" />
                    <element name="price" type="xsd:string" minOccurs="0" />
                    <element name="is_unlimited" type="xsd:int" minOccurs="0" />
                    <element name="number_of_downloads" type="xsd:int" minOccurs="0" />
                    <element name="is_shareable" type="xsd:int" minOccurs="0" />
                    <element name="sample" type="typens:catalogProductDownloadableLinkAddSampleEntity" minOccurs="0" />
                    <element name="type" type="xsd:string" minOccurs="0" />
                    <element name="file" type="typens:catalogProductDownloadableLinkFileEntity" minOccurs="0" />
                    <element name="link_url" type="xsd:string" minOccurs="0" />
                    <element name="sample_url" type="xsd:string" minOccurs="0" />
                    <element name="sort_order" type="xsd:int" minOccurs="0" />
                </all>
            </complexType>
            <complexType name="catalogProductDownloadableLinkFileInfoEntity">
                <all>
                    <element name="file" type="xsd:string" />
                    <element name="name" type="xsd:string" />
                    <element name="size" type="xsd:int" />
                    <element name="status" type="xsd:string" />
                </all>
            </complexType>
            <complexType name="catalogProductDownloadableLinkFileInfoEntityArray">
                <complexContent>
                    <restriction base="soapenc:Array">
                        <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:catalogProductDownloadableLinkFileInfoEntity[]"/>
                    </restriction>
                </complexContent>
            </complexType>
            <complexType name="catalogProductDownloadableLinkEntity">
                <all>
                    <element name="link_id" type="xsd:string" />
                    <element name="title" type="xsd:string" />
                    <element name="price" type="xsd:string" />
                    <element name="number_of_downloads" type="xsd:int" minOccurs="0" />
                    <element name="is_unlimited" type="xsd:int" minOccurs="0" />
                    <element name="is_shareable" type="xsd:int" />
                    <element name="link_url" type="xsd:string" />
                    <element name="link_type" type="xsd:string" />
                    <element name="sample_file" type="xsd:string" minOccurs="0" />
                    <element name="sample_url" type="xsd:string" minOccurs="0" />
                    <element name="sample_type" type="xsd:string" />
                    <element name="sort_order" type="xsd:int" />
                    <element name="file_save" type="typens:catalogProductDownloadableLinkFileInfoEntityArray" minOccurs="0" />
                    <element name="sample_file_save" type="typens:catalogProductDownloadableLinkFileInfoEntityArray" minOccurs="0" />
                </all>
            </complexType>
            <complexType name="catalogProductDownloadableLinkEntityArray">
                <complexContent>
                    <restriction base="soapenc:Array">
                        <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:catalogProductDownloadableLinkEntity[]"/>
                    </restriction>
                </complexContent>
            </complexType>
            <complexType name="catalogProductDownloadableLinkSampleEntity">
                <all>
                    <element name="sample_id" type="xsd:string" />
                    <element name="product_id" type="xsd:string" />
                    <element name="sample_file" type="xsd:string" minOccurs="0" />
                    <element name="sample_url" type="xsd:string" minOccurs="0" />
                    <element name="sample_type" type="xsd:string" />
                    <element name="sort_order" type="xsd:string" />
                    <element name="default_title" type="xsd:string" />
                    <element name="store_title" type="xsd:string" />
                    <element name="title" type="xsd:string" />
                </all>
            </complexType>
            <complexType name="catalogProductDownloadableLinkSampleEntityArray">
                <complexContent>
                    <restriction base="soapenc:Array">
                        <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:catalogProductDownloadableLinkSampleEntity[]"/>
                    </restriction>
                </complexContent>
            </complexType>
            <complexType name="catalogProductDownloadableLinkInfoEntity">
                <all>
                    <element name="links" type="typens:catalogProductDownloadableLinkEntityArray" />
                    <element name="samples" type="typens:catalogProductDownloadableLinkSampleEntityArray" />
                </all>
            </complexType>
        </schema>
    </types>
    <message name="catalogProductDownloadableLinkAddRequest">
        <part name="sessionId" type="xsd:string"/>
        <part name="productId" type="xsd:string"/>
        <part name="resource" type="typens:catalogProductDownloadableLinkAddEntity"/>
        <part name="resourceType" type="xsd:string"/>
        <part name="store" type="xsd:string"/>
        <part name="identifierType" type="xsd:string"/>
    </message>
    <message name="catalogProductDownloadableLinkAddResponse">
        <part name="respons" type="xsd:int"/>
    </message>
    <message name="catalogProductDownloadableLinkListRequest">
        <part name="sessionId" type="xsd:string"/>
        <part name="productId" type="xsd:string"/>
        <part name="store" type="xsd:string"/>
        <part name="identifierType" type="xsd:string"/>
    </message>
    <message name="catalogProductDownloadableLinkListResponse">
        <part name="respons" type="typens:catalogProductDownloadableLinkInfoEntity"/>
    </message>
    <message name="catalogProductDownloadableLinkRemoveRequest">
        <part name="sessionId" type="xsd:string"/>
        <part name="linkId" type="xsd:string"/>
        <part name="resourceType" type="xsd:string"/>
    </message>
    <message name="catalogProductDownloadableLinkRemoveResponse">
        <part name="respons" type="xsd:boolean"/>
    </message>
    <portType name="{{var wsdl.handler}}PortType">
        <operation name="catalogProductDownloadableLinkAdd">
            <documentation>Add links to downloadable product</documentation>
            <input message="typens:catalogProductDownloadableLinkAddRequest"/>
            <output message="typens:catalogProductDownloadableLinkAddResponse"/>
        </operation>
        <operation name="catalogProductDownloadableLinkList">
            <documentation>Retrieve list of links and samples for downloadable product</documentation>
            <input message="typens:catalogProductDownloadableLinkListRequest"/>
            <output message="typens:catalogProductDownloadableLinkListResponse"/>
        </operation>
        <operation name="catalogProductDownloadableLinkRemove">
            <documentation>Remove links and samples from downloadable product</documentation>
            <input message="typens:catalogProductDownloadableLinkRemoveRequest"/>
            <output message="typens:catalogProductDownloadableLinkRemoveResponse"/>
        </operation>
    </portType>
    <binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="catalogProductDownloadableLinkAdd">
            <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
            <input>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
                           encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
            </input>
            <output>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
                           encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
            </output>
        </operation>
        <operation name="catalogProductDownloadableLinkList">
            <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
            <input>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
                           encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
            </input>
            <output>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
                           encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
            </output>
        </operation>
        <operation name="catalogProductDownloadableLinkRemove">
            <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
            <input>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
                           encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
            </input>
            <output>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
                           encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
            </output>
        </operation>
    </binding>
    <service name="{{var wsdl.name}}Service">
        <port name="{{var wsdl.handler}}Port" binding="typens:{{var wsdl.handler}}Binding">
            <soap:address location="{{var wsdl.url}}"/>
        </port>
    </service>
</definitions>
