<?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="catalogProductDownloadableLinkFileEntity">
                <xsd:sequence>
                    <xsd:element name="name" type="xsd:string" minOccurs="0" />
                    <xsd:element name="base64_content" type="xsd:string" minOccurs="0" />
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="catalogProductDownloadableLinkAddSampleEntity">
                <xsd:sequence>
                    <xsd:element name="type" type="xsd:string" minOccurs="0" />
                    <xsd:element name="file" type="typens:catalogProductDownloadableLinkFileEntity" minOccurs="0" />
                    <xsd:element name="url" type="xsd:string" minOccurs="0" />
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="catalogProductDownloadableLinkAddEntity">
                <xsd:sequence>
                    <xsd:element name="title" type="xsd:string" minOccurs="1" />
                    <xsd:element name="price" type="xsd:string" minOccurs="0" />
                    <xsd:element name="is_unlimited" type="xsd:int" minOccurs="0" />
                    <xsd:element name="number_of_downloads" type="xsd:int" minOccurs="0" />
                    <xsd:element name="is_shareable" type="xsd:int" minOccurs="0" />
                    <xsd:element name="sample" type="typens:catalogProductDownloadableLinkAddSampleEntity" minOccurs="0" />
                    <xsd:element name="type" type="xsd:string" minOccurs="0" />
                    <xsd:element name="file" type="typens:catalogProductDownloadableLinkFileEntity" minOccurs="0" />
                    <xsd:element name="link_url" type="xsd:string" minOccurs="0" />
                    <xsd:element name="sample_url" type="xsd:string" minOccurs="0" />
                    <xsd:element name="sort_order" type="xsd:int" minOccurs="0" />
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="catalogProductDownloadableLinkFileInfoEntity">
                <xsd:sequence>
                    <xsd:element name="file" type="xsd:string" />
                    <xsd:element name="name" type="xsd:string" />
                    <xsd:element name="size" type="xsd:int" />
                    <xsd:element name="status" type="xsd:string" />
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="catalogProductDownloadableLinkFileInfoEntityArray">
                <xsd:sequence>
                    <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:catalogProductDownloadableLinkFileInfoEntity" />
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="catalogProductDownloadableLinkEntity">
                <xsd:sequence>
                    <xsd:element name="link_id" type="xsd:string" />
                    <xsd:element name="title" type="xsd:string" />
                    <xsd:element name="price" type="xsd:string" />
                    <xsd:element name="number_of_downloads" type="xsd:int" minOccurs="0" />
                    <xsd:element name="is_unlimited" type="xsd:int" minOccurs="0" />
                    <xsd:element name="is_shareable" type="xsd:int" />
                    <xsd:element name="link_url" type="xsd:string" />
                    <xsd:element name="link_type" type="xsd:string" />
                    <xsd:element name="sample_file" type="xsd:string" minOccurs="0" />
                    <xsd:element name="sample_url" type="xsd:string" minOccurs="0" />
                    <xsd:element name="sample_type" type="xsd:string" />
                    <xsd:element name="sort_order" type="xsd:int" />
                    <xsd:element name="file_save" type="typens:catalogProductDownloadableLinkFileInfoEntityArray" minOccurs="0" />
                    <xsd:element name="sample_file_save" type="typens:catalogProductDownloadableLinkFileInfoEntityArray" minOccurs="0" />
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="catalogProductDownloadableLinkEntityArray">
                <xsd:sequence>
                    <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:catalogProductDownloadableLinkEntity" />
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="catalogProductDownloadableLinkSampleEntity">
                <xsd:sequence>
                    <xsd:element name="sample_id" type="xsd:string" />
                    <xsd:element name="product_id" type="xsd:string" />
                    <xsd:element name="sample_file" type="xsd:string" minOccurs="0" />
                    <xsd:element name="sample_url" type="xsd:string" minOccurs="0" />
                    <xsd:element name="sample_type" type="xsd:string" />
                    <xsd:element name="sort_order" type="xsd:string" />
                    <xsd:element name="default_title" type="xsd:string" />
                    <xsd:element name="store_title" type="xsd:string" />
                    <xsd:element name="title" type="xsd:string" />
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="catalogProductDownloadableLinkSampleEntityArray">
                <xsd:sequence>
                    <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:catalogProductDownloadableLinkSampleEntity" />
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="catalogProductDownloadableLinkListEntity">
                <xsd:sequence>
                    <xsd:element name="links" type="typens:catalogProductDownloadableLinkEntityArray" />
                    <xsd:element name="samples" type="typens:catalogProductDownloadableLinkSampleEntityArray" />
                </xsd:sequence>
            </xsd:complexType>


            <xsd:element name="catalogProductDownloadableLinkAddRequestParam">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
                        <xsd:element minOccurs="1" maxOccurs="1" name="productId" type="xsd:string" />
                        <xsd:element minOccurs="1" maxOccurs="1" name="resource" type="typens:catalogProductDownloadableLinkAddEntity" />
                        <xsd:element minOccurs="1" maxOccurs="1" name="resourceType" type="xsd:string" />
                        <xsd:element minOccurs="0" maxOccurs="1" name="store" type="xsd:string" />
                        <xsd:element minOccurs="0" maxOccurs="1" name="identifierType" type="xsd:string" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="catalogProductDownloadableLinkAddResponseParam">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="catalogProductDownloadableLinkListRequestParam">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
                        <xsd:element minOccurs="1" maxOccurs="1" name="productId" type="xsd:string" />
                        <xsd:element minOccurs="0" maxOccurs="1" name="store" type="xsd:string" />
                        <xsd:element minOccurs="0" maxOccurs="1" name="identifierType" type="xsd:string" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="catalogProductDownloadableLinkListResponseParam">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:catalogProductDownloadableLinkListEntity" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="catalogProductDownloadableLinkRemoveRequestParam">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
                        <xsd:element minOccurs="1" maxOccurs="1" name="linkId" type="xsd:string" />
                        <xsd:element minOccurs="1" maxOccurs="1" name="resourceType" type="xsd:string" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="catalogProductDownloadableLinkRemoveResponseParam">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:schema>
    </wsdl:types>
    <wsdl:message name="catalogProductDownloadableLinkAddRequest">
        <wsdl:part name="parameters" element="typens:catalogProductDownloadableLinkAddRequestParam" />
    </wsdl:message>
    <wsdl:message name="catalogProductDownloadableLinkAddResponse">
        <wsdl:part name="parameters" element="typens:catalogProductDownloadableLinkAddResponseParam" />
    </wsdl:message>
    <wsdl:message name="catalogProductDownloadableLinkListRequest">
        <wsdl:part name="parameters" element="typens:catalogProductDownloadableLinkListRequestParam" />
    </wsdl:message>
    <wsdl:message name="catalogProductDownloadableLinkListResponse">
        <wsdl:part name="parameters" element="typens:catalogProductDownloadableLinkListResponseParam" />
    </wsdl:message>
    <wsdl:message name="catalogProductDownloadableLinkRemoveRequest">
        <wsdl:part name="parameters" element="typens:catalogProductDownloadableLinkRemoveRequestParam" />
    </wsdl:message>
    <wsdl:message name="catalogProductDownloadableLinkRemoveResponse">
        <wsdl:part name="parameters" element="typens:catalogProductDownloadableLinkRemoveResponseParam" />
    </wsdl:message>
    <wsdl:portType name="{{var wsdl.handler}}PortType">
        <wsdl:operation name="catalogProductDownloadableLinkAdd">
            <wsdl:documentation>Add links to downloadable product</wsdl:documentation>
            <wsdl:input message="typens:catalogProductDownloadableLinkAddRequest" />
            <wsdl:output message="typens:catalogProductDownloadableLinkAddResponse" />
        </wsdl:operation>
        <wsdl:operation name="catalogProductDownloadableLinkList">
            <wsdl:documentation>Retrieve list of links and samples for downloadable product</wsdl:documentation>
            <wsdl:input message="typens:catalogProductDownloadableLinkListRequest" />
            <wsdl:output message="typens:catalogProductDownloadableLinkListResponse" />
        </wsdl:operation>
        <wsdl:operation name="catalogProductDownloadableLinkRemove">
            <wsdl:documentation>Remove links and samples from downloadable product</wsdl:documentation>
            <wsdl:input message="typens:catalogProductDownloadableLinkRemoveRequest" />
            <wsdl:output message="typens:catalogProductDownloadableLinkRemoveResponse" />
        </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="catalogProductDownloadableLinkAdd">
            <soap:operation soapAction="" />
            <wsdl:input>
                <soap:body use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" />
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="catalogProductDownloadableLinkList">
            <soap:operation soapAction="" />
            <wsdl:input>
                <soap:body use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" />
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="catalogProductDownloadableLinkRemove">
            <soap:operation soapAction="" />
            <wsdl:input>
                <soap:body use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" />
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
</wsdl:definitions>
