<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<definitions name="SubtractNumbers"  targetNamespace="http://duke.org" xmlns:tns="http://duke.org"
    xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
	<types>
            <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://duke.org">

                <complexType name="subtractNumbersResponse">
                    <sequence>
                        <element name="return" type="xsd:int" />
                    </sequence>
                </complexType>
                <element name="subtractNumbersResponse" type="tns:subtractNumbersResponse" />

                <complexType name="subtractNumbers">
                    <sequence>
                        <element name="arg0" type="xsd:int" />
                        <element name="arg1" type="xsd:int" />
                    </sequence>
                </complexType>
                <element name="subtractNumbers" type="tns:subtractNumbers" />
            </xsd:schema>
	</types>
	<message name="subtractNumbers">
            <part name="parameters" element="tns:subtractNumbers" />
	</message>
	<message name="subtractNumbersResponse">
            <part name="result" element="tns:subtractNumbersResponse" />
	</message>
	<portType name="SubtractNumbersPortType">
            <operation name="subtractNumbers">
                <input message="tns:subtractNumbers" name="subtract"/>
                <output message="tns:subtractNumbersResponse" name="subtractResponse"/>
            </operation>
	</portType>
	<binding name="SubtractNumbersBinding" type="tns:SubtractNumbersPortType">
            <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
            <operation name="subtractNumbers">
                <soap:operation soapAction="" />
                <input>
                    <soap:body use="literal" />
                </input>
                <output>
                    <soap:body use="literal" />
                </output>
            </operation>
	</binding>
	<service name="SubtractNumbersService">
            <port name="SubtractNumbersPortType" binding="tns:SubtractNumbersBinding">
                <soap:address location="REPLACE_WITH_ACTUAL_URL" />
            </port>
	</service>
</definitions>
