<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
             xmlns:tns="http://petstoreapi.com/soap"
             xmlns:xs="http://www.w3.org/2001/XMLSchema"
             targetNamespace="http://petstoreapi.com/soap"
             name="ModernPetStoreAPI">

    <types>
        <xs:schema targetNamespace="http://petstoreapi.com/soap" elementFormDefault="qualified">
            <xs:element name="get-petRequest">
                <xs:complexType><xs:sequence>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="get-petResponse">
                <xs:complexType><xs:sequence>
                    <xs:element name="result" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="update-petRequest">
                <xs:complexType><xs:sequence>
                    <xs:element name="body" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="update-petResponse">
                <xs:complexType><xs:sequence>
                    <xs:element name="result" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="delete-petRequest">
                <xs:complexType><xs:sequence>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="delete-petResponse">
                <xs:complexType><xs:sequence>
                    <xs:element name="result" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="list-petsRequest">
                <xs:complexType><xs:sequence>
                    <xs:element name="species" type="xs:string" minOccurs="0"/>
                    <xs:element name="status" type="xs:string" minOccurs="0"/>
                    <xs:element name="age_min" type="xs:int" minOccurs="0"/>
                    <xs:element name="age_max" type="xs:int" minOccurs="0"/>
                    <xs:element name="size" type="xs:string" minOccurs="0"/>
                    <xs:element name="good_with_kids" type="xs:string" minOccurs="0"/>
                    <xs:element name="page" type="xs:int" minOccurs="0"/>
                    <xs:element name="limit" type="xs:int" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="list-petsResponse">
                <xs:complexType><xs:sequence>
                    <xs:element name="result" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="create-petRequest">
                <xs:complexType><xs:sequence>
                    <xs:element name="body" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="create-petResponse">
                <xs:complexType><xs:sequence>
                    <xs:element name="result" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="searchPetsRequest">
                <xs:complexType><xs:sequence>
                    <xs:element name="body" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="searchPetsResponse">
                <xs:complexType><xs:sequence>
                    <xs:element name="result" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="create-chat-completionRequest">
                <xs:complexType><xs:sequence>
                    <xs:element name="body" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="create-chat-completionResponse">
                <xs:complexType><xs:sequence>
                    <xs:element name="result" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="uploadPetPhotoRequest">
                <xs:complexType><xs:sequence>
                    <xs:element name="id" type="xs:string" minOccurs="1"/>
                    <xs:element name="body" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="uploadPetPhotoResponse">
                <xs:complexType><xs:sequence>
                    <xs:element name="result" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="create-order-paymentRequest">
                <xs:complexType><xs:sequence>
                    <xs:element name="id" type="xs:string" minOccurs="1"/>
                    <xs:element name="body" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="create-order-paymentResponse">
                <xs:complexType><xs:sequence>
                    <xs:element name="result" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="getInventoryRequest">
                <xs:complexType><xs:sequence>
                    <xs:element name="status" type="xs:string" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="getInventoryResponse">
                <xs:complexType><xs:sequence>
                    <xs:element name="result" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="createOrderRequest">
                <xs:complexType><xs:sequence>
                    <xs:element name="body" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="createOrderResponse">
                <xs:complexType><xs:sequence>
                    <xs:element name="result" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="getOrderRequest">
                <xs:complexType><xs:sequence>
                    <xs:element name="id" type="xs:string" minOccurs="1"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="getOrderResponse">
                <xs:complexType><xs:sequence>
                    <xs:element name="result" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="callbackOrderRequest">
                <xs:complexType><xs:sequence>
                    <xs:element name="id" type="xs:string" minOccurs="1"/>
                    <xs:element name="body" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="callbackOrderResponse">
                <xs:complexType><xs:sequence>
                    <xs:element name="result" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="deleteOrderRequest">
                <xs:complexType><xs:sequence>
                    <xs:element name="id" type="xs:string" minOccurs="1"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="deleteOrderResponse">
                <xs:complexType><xs:sequence>
                    <xs:element name="result" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="createUserRequest">
                <xs:complexType><xs:sequence>
                    <xs:element name="body" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="createUserResponse">
                <xs:complexType><xs:sequence>
                    <xs:element name="result" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="getUserByIdRequest">
                <xs:complexType><xs:sequence>
                    <xs:element name="id" type="xs:string" minOccurs="1"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="getUserByIdResponse">
                <xs:complexType><xs:sequence>
                    <xs:element name="result" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="updateUserRequest">
                <xs:complexType><xs:sequence>
                    <xs:element name="id" type="xs:string" minOccurs="1"/>
                    <xs:element name="body" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="updateUserResponse">
                <xs:complexType><xs:sequence>
                    <xs:element name="result" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="deleteUserRequest">
                <xs:complexType><xs:sequence>
                    <xs:element name="id" type="xs:string" minOccurs="1"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="deleteUserResponse">
                <xs:complexType><xs:sequence>
                    <xs:element name="result" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="createTokenRequest">
                <xs:complexType><xs:sequence>
                    <xs:element name="body" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
            <xs:element name="createTokenResponse">
                <xs:complexType><xs:sequence>
                    <xs:element name="result" type="xs:anyType" minOccurs="0"/>
                </xs:sequence></xs:complexType>
            </xs:element>
        </xs:schema>
    </types>

    <message name="get-petInput">
        <part name="parameters" element="tns:get-petRequest"/>
    </message>
    <message name="get-petOutput">
        <part name="parameters" element="tns:get-petResponse"/>
    </message>
    <message name="update-petInput">
        <part name="parameters" element="tns:update-petRequest"/>
    </message>
    <message name="update-petOutput">
        <part name="parameters" element="tns:update-petResponse"/>
    </message>
    <message name="delete-petInput">
        <part name="parameters" element="tns:delete-petRequest"/>
    </message>
    <message name="delete-petOutput">
        <part name="parameters" element="tns:delete-petResponse"/>
    </message>
    <message name="list-petsInput">
        <part name="parameters" element="tns:list-petsRequest"/>
    </message>
    <message name="list-petsOutput">
        <part name="parameters" element="tns:list-petsResponse"/>
    </message>
    <message name="create-petInput">
        <part name="parameters" element="tns:create-petRequest"/>
    </message>
    <message name="create-petOutput">
        <part name="parameters" element="tns:create-petResponse"/>
    </message>
    <message name="searchPetsInput">
        <part name="parameters" element="tns:searchPetsRequest"/>
    </message>
    <message name="searchPetsOutput">
        <part name="parameters" element="tns:searchPetsResponse"/>
    </message>
    <message name="create-chat-completionInput">
        <part name="parameters" element="tns:create-chat-completionRequest"/>
    </message>
    <message name="create-chat-completionOutput">
        <part name="parameters" element="tns:create-chat-completionResponse"/>
    </message>
    <message name="uploadPetPhotoInput">
        <part name="parameters" element="tns:uploadPetPhotoRequest"/>
    </message>
    <message name="uploadPetPhotoOutput">
        <part name="parameters" element="tns:uploadPetPhotoResponse"/>
    </message>
    <message name="create-order-paymentInput">
        <part name="parameters" element="tns:create-order-paymentRequest"/>
    </message>
    <message name="create-order-paymentOutput">
        <part name="parameters" element="tns:create-order-paymentResponse"/>
    </message>
    <message name="getInventoryInput">
        <part name="parameters" element="tns:getInventoryRequest"/>
    </message>
    <message name="getInventoryOutput">
        <part name="parameters" element="tns:getInventoryResponse"/>
    </message>
    <message name="createOrderInput">
        <part name="parameters" element="tns:createOrderRequest"/>
    </message>
    <message name="createOrderOutput">
        <part name="parameters" element="tns:createOrderResponse"/>
    </message>
    <message name="getOrderInput">
        <part name="parameters" element="tns:getOrderRequest"/>
    </message>
    <message name="getOrderOutput">
        <part name="parameters" element="tns:getOrderResponse"/>
    </message>
    <message name="callbackOrderInput">
        <part name="parameters" element="tns:callbackOrderRequest"/>
    </message>
    <message name="callbackOrderOutput">
        <part name="parameters" element="tns:callbackOrderResponse"/>
    </message>
    <message name="deleteOrderInput">
        <part name="parameters" element="tns:deleteOrderRequest"/>
    </message>
    <message name="deleteOrderOutput">
        <part name="parameters" element="tns:deleteOrderResponse"/>
    </message>
    <message name="createUserInput">
        <part name="parameters" element="tns:createUserRequest"/>
    </message>
    <message name="createUserOutput">
        <part name="parameters" element="tns:createUserResponse"/>
    </message>
    <message name="getUserByIdInput">
        <part name="parameters" element="tns:getUserByIdRequest"/>
    </message>
    <message name="getUserByIdOutput">
        <part name="parameters" element="tns:getUserByIdResponse"/>
    </message>
    <message name="updateUserInput">
        <part name="parameters" element="tns:updateUserRequest"/>
    </message>
    <message name="updateUserOutput">
        <part name="parameters" element="tns:updateUserResponse"/>
    </message>
    <message name="deleteUserInput">
        <part name="parameters" element="tns:deleteUserRequest"/>
    </message>
    <message name="deleteUserOutput">
        <part name="parameters" element="tns:deleteUserResponse"/>
    </message>
    <message name="createTokenInput">
        <part name="parameters" element="tns:createTokenRequest"/>
    </message>
    <message name="createTokenOutput">
        <part name="parameters" element="tns:createTokenResponse"/>
    </message>
    <portType name="ModernPetStoreAPIPortType">
        <operation name="get-pet">
            <input message="tns:get-petInput"/>
            <output message="tns:get-petOutput"/>
        </operation>
        <operation name="update-pet">
            <input message="tns:update-petInput"/>
            <output message="tns:update-petOutput"/>
        </operation>
        <operation name="delete-pet">
            <input message="tns:delete-petInput"/>
            <output message="tns:delete-petOutput"/>
        </operation>
        <operation name="list-pets">
            <input message="tns:list-petsInput"/>
            <output message="tns:list-petsOutput"/>
        </operation>
        <operation name="create-pet">
            <input message="tns:create-petInput"/>
            <output message="tns:create-petOutput"/>
        </operation>
        <operation name="searchPets">
            <input message="tns:searchPetsInput"/>
            <output message="tns:searchPetsOutput"/>
        </operation>
        <operation name="create-chat-completion">
            <input message="tns:create-chat-completionInput"/>
            <output message="tns:create-chat-completionOutput"/>
        </operation>
        <operation name="uploadPetPhoto">
            <input message="tns:uploadPetPhotoInput"/>
            <output message="tns:uploadPetPhotoOutput"/>
        </operation>
        <operation name="create-order-payment">
            <input message="tns:create-order-paymentInput"/>
            <output message="tns:create-order-paymentOutput"/>
        </operation>
        <operation name="getInventory">
            <input message="tns:getInventoryInput"/>
            <output message="tns:getInventoryOutput"/>
        </operation>
        <operation name="createOrder">
            <input message="tns:createOrderInput"/>
            <output message="tns:createOrderOutput"/>
        </operation>
        <operation name="getOrder">
            <input message="tns:getOrderInput"/>
            <output message="tns:getOrderOutput"/>
        </operation>
        <operation name="callbackOrder">
            <input message="tns:callbackOrderInput"/>
            <output message="tns:callbackOrderOutput"/>
        </operation>
        <operation name="deleteOrder">
            <input message="tns:deleteOrderInput"/>
            <output message="tns:deleteOrderOutput"/>
        </operation>
        <operation name="createUser">
            <input message="tns:createUserInput"/>
            <output message="tns:createUserOutput"/>
        </operation>
        <operation name="getUserById">
            <input message="tns:getUserByIdInput"/>
            <output message="tns:getUserByIdOutput"/>
        </operation>
        <operation name="updateUser">
            <input message="tns:updateUserInput"/>
            <output message="tns:updateUserOutput"/>
        </operation>
        <operation name="deleteUser">
            <input message="tns:deleteUserInput"/>
            <output message="tns:deleteUserOutput"/>
        </operation>
        <operation name="createToken">
            <input message="tns:createTokenInput"/>
            <output message="tns:createTokenOutput"/>
        </operation>
    </portType>
    <binding name="ModernPetStoreAPISoapBinding" type="tns:ModernPetStoreAPIPortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="get-pet">
            <soap:operation soapAction="http://petstoreapi.com/soap/get-pet"/>
            <input><soap:body use="literal"/></input>
            <output><soap:body use="literal"/></output>
        </operation>
        <operation name="update-pet">
            <soap:operation soapAction="http://petstoreapi.com/soap/update-pet"/>
            <input><soap:body use="literal"/></input>
            <output><soap:body use="literal"/></output>
        </operation>
        <operation name="delete-pet">
            <soap:operation soapAction="http://petstoreapi.com/soap/delete-pet"/>
            <input><soap:body use="literal"/></input>
            <output><soap:body use="literal"/></output>
        </operation>
        <operation name="list-pets">
            <soap:operation soapAction="http://petstoreapi.com/soap/list-pets"/>
            <input><soap:body use="literal"/></input>
            <output><soap:body use="literal"/></output>
        </operation>
        <operation name="create-pet">
            <soap:operation soapAction="http://petstoreapi.com/soap/create-pet"/>
            <input><soap:body use="literal"/></input>
            <output><soap:body use="literal"/></output>
        </operation>
        <operation name="searchPets">
            <soap:operation soapAction="http://petstoreapi.com/soap/searchPets"/>
            <input><soap:body use="literal"/></input>
            <output><soap:body use="literal"/></output>
        </operation>
        <operation name="create-chat-completion">
            <soap:operation soapAction="http://petstoreapi.com/soap/create-chat-completion"/>
            <input><soap:body use="literal"/></input>
            <output><soap:body use="literal"/></output>
        </operation>
        <operation name="uploadPetPhoto">
            <soap:operation soapAction="http://petstoreapi.com/soap/uploadPetPhoto"/>
            <input><soap:body use="literal"/></input>
            <output><soap:body use="literal"/></output>
        </operation>
        <operation name="create-order-payment">
            <soap:operation soapAction="http://petstoreapi.com/soap/create-order-payment"/>
            <input><soap:body use="literal"/></input>
            <output><soap:body use="literal"/></output>
        </operation>
        <operation name="getInventory">
            <soap:operation soapAction="http://petstoreapi.com/soap/getInventory"/>
            <input><soap:body use="literal"/></input>
            <output><soap:body use="literal"/></output>
        </operation>
        <operation name="createOrder">
            <soap:operation soapAction="http://petstoreapi.com/soap/createOrder"/>
            <input><soap:body use="literal"/></input>
            <output><soap:body use="literal"/></output>
        </operation>
        <operation name="getOrder">
            <soap:operation soapAction="http://petstoreapi.com/soap/getOrder"/>
            <input><soap:body use="literal"/></input>
            <output><soap:body use="literal"/></output>
        </operation>
        <operation name="callbackOrder">
            <soap:operation soapAction="http://petstoreapi.com/soap/callbackOrder"/>
            <input><soap:body use="literal"/></input>
            <output><soap:body use="literal"/></output>
        </operation>
        <operation name="deleteOrder">
            <soap:operation soapAction="http://petstoreapi.com/soap/deleteOrder"/>
            <input><soap:body use="literal"/></input>
            <output><soap:body use="literal"/></output>
        </operation>
        <operation name="createUser">
            <soap:operation soapAction="http://petstoreapi.com/soap/createUser"/>
            <input><soap:body use="literal"/></input>
            <output><soap:body use="literal"/></output>
        </operation>
        <operation name="getUserById">
            <soap:operation soapAction="http://petstoreapi.com/soap/getUserById"/>
            <input><soap:body use="literal"/></input>
            <output><soap:body use="literal"/></output>
        </operation>
        <operation name="updateUser">
            <soap:operation soapAction="http://petstoreapi.com/soap/updateUser"/>
            <input><soap:body use="literal"/></input>
            <output><soap:body use="literal"/></output>
        </operation>
        <operation name="deleteUser">
            <soap:operation soapAction="http://petstoreapi.com/soap/deleteUser"/>
            <input><soap:body use="literal"/></input>
            <output><soap:body use="literal"/></output>
        </operation>
        <operation name="createToken">
            <soap:operation soapAction="http://petstoreapi.com/soap/createToken"/>
            <input><soap:body use="literal"/></input>
            <output><soap:body use="literal"/></output>
        </operation>
    </binding>
    <service name="ModernPetStoreAPIService">
        <port name="ModernPetStoreAPIPort" binding="tns:ModernPetStoreAPISoapBinding">
            <soap:address location="https://api.petstoreapi.com/v1/soap"/>
        </port>
    </service>
</definitions>