<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:tns="http://example.org/api/application"
    xmlns:wipo="http://www.wipo.int/api-catalog" 
    targetNamespace="Name of the API"
    name="ApplicationService"

  
     wipo:ipDomain="Industrial Design,Patent,Trademark,Copyright,Geographical Indication,Plant Variety Protection"
    wipo:serviceType="Account Management,Application Management,Communication,Dissemination,Payment,Portfolio Management,Search,Translation"
    wipo:contentType="Abstract,Bibliographic data,Citation data,Classification,Court decision data,Full-Text,Legal status,Licensing data,Office action data,Payment related data"
    wipo:contentLanguage="ar,en,es,fr,ru,zh"
    wipo:subscriptionType="Without subscription,Free with subscription,Paid subscription"
    wipo:organization="World Intellectual Property Organization"
    wipo:productPage="https://www.wipo.int"
    wipo:specUrl="https://www.wipo.int/example/application-service.wsdl">

    <wsdl:documentation>Description of the API (Preferably in a format where it describes the use cases, eg. This API provides access to [functionality] so that users can [actions]) test yaml
    </wsdl:documentation>

    <wsdl:types>
        <xsd:schema targetNamespace="http://example.org/api/application">
            <xsd:element name="SubmitApplicationRequest">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="title" type="xsd:string"/>
                        <xsd:element name="applicantName" type="xsd:string"/>
                        <xsd:element name="filingDate" type="xsd:dateTime"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="SubmitApplicationResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="applicationNumber" type="xsd:string"/>
                        <xsd:element name="status" type="xsd:string"/>
                        <xsd:element name="submissionDate" type="xsd:dateTime"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:schema>
    </wsdl:types>

    <wsdl:message name="SubmitApplicationRequestMessage">
        <wsdl:part name="parameters" element="tns:SubmitApplicationRequest"/>
    </wsdl:message>

    <wsdl:message name="SubmitApplicationResponseMessage">
        <wsdl:part name="parameters" element="tns:SubmitApplicationResponse"/>
    </wsdl:message>

    <wsdl:portType name="ApplicationPortType">
        <!-- Operation analogous to POST /applications in the OAS template -->
        <wsdl:operation name="SubmitApplication">
            <wsdl:documentation>
                Submits a new IP application for validation and filing.
            </wsdl:documentation>
            <wsdl:input message="tns:SubmitApplicationRequestMessage"/>
            <wsdl:output message="tns:SubmitApplicationResponseMessage"/>
        </wsdl:operation>

    </wsdl:portType>

    <wsdl:binding name="ApplicationSoapBinding" type="tns:ApplicationPortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

        <wsdl:operation name="SubmitApplication">
            <soap:operation soapAction="SubmitApplication" style="document"/>

            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>

    <wsdl:service name="ApplicationService">
        <wsdl:documentation>
            Human-readable name of the service (e.g. "IP Application Management Service").
        </wsdl:documentation>

        <wsdl:port name="ApplicationPort" binding="tns:ApplicationSoapBinding">
            <soap:address location="https://api.example.org/application"/>
        </wsdl:port>
    </wsdl:service>

</wsdl:definitions>
