<?xml version="1.0"?>
<!--

    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="urn:SimpleTest"
             targetNamespace="urn:SimpleTest" 
	     xmlns="http://schemas.xmlsoap.org/wsdl/" 
	     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
	     xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
	     xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
	     xmlns:tns="urn:SimpleTest" 
	     xmlns:s="http://SimpleTest.org/xsd" 
	     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">

    <types/>

    <message name="echoString">
        <part name="body" type="xsd:string"/>
    </message>
    <message name="echoStringResponse">
        <part name="return" type="xsd:string"/>
    </message>

    <portType name="SimpleTest">
        <operation name="echoString" parameterOrder="body" >
           <input message="tns:echoString"/>
	   <output message="tns:echoStringResponse"/>
        </operation>
    </portType>

    <binding name="SimpleTestBinding" type="tns:SimpleTest">
        <soap:binding style="rpc" 
                      transport="http://schemas.xmlsoap.org/soap/http"/>
            <operation name="echoString">
	        <soap:operation soapAction="http://SimpleTest.org/"/>
	            <input> <soap:body use="literal" namespace="http://SimpleTest.org/xsd"/> </input>
                    <output> <soap:body use="literal" namespace="http://SimpleTest.org/xsd"/> </output>
            </operation>
    </binding>

    <service name="SimpleTestService">
        <port name="SimpleTest" binding="tns:SimpleTestBinding">
            <soap:address location="http://localhost:1024/rpclit/SimpleTest"/>
        </port>
    </service>
</definitions>
