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

    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

-->
<definitions name="Hello"
        targetNamespace="uri:HelloWorld"
        xmlns:tns="uri:HelloWorld"
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
        xmlns="http://schemas.xmlsoap.org/wsdl/">

    <types>
        <schema targetNamespace="uri:HelloWorld"
                xmlns="http://www.w3.org/2001/XMLSchema">
            <element name="HelloRequest">
                <complexType>
                    <all>
                        <element name="text" type="string"/>
                    </all>
                </complexType>
            </element>
            <element name="HelloResponse">
                <complexType>
                    <all>
                        <element name="text" type="string"/>
                    </all>
                </complexType>
            </element>
            <element name="HelloHeader">
                <complexType>
                    <all>
                        <element name="id" type="string"/>
                    </all>
                </complexType>
            </element>
            <element name="HelloFault">
                <complexType>
                    <all>
                        <element name="id" type="string"/>
                    </all>
                </complexType>
            </element>
        </schema>
    </types>

    <message name="HelloRequest">
        <part name="body" element="tns:HelloRequest"/>
        <part name="header1" element="tns:HelloHeader"/>
    </message>

    <message name="HelloResponse">
        <part name="body" element="tns:HelloResponse"/>
    </message>

    <message name="HelloFault">
        <part name="body" element="tns:HelloFault"/>
    </message>

    <portType name="HelloPortType">
        <operation name="Hello">
            <input message="tns:HelloRequest"/>
            <output message="tns:HelloResponse"/>
            <fault name="fault" message="tns:HelloFault" />
        </operation>
    </portType>

    <binding name="HelloSoapBinding" type="tns:HelloPortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="Hello">
            <soap:operation soapAction=""/>
            <input>
                <soap:body use="literal" parts="body"/>
                <soap:header use="literal" message="tns:HelloRequest" part="header1"/>
            </input>
            <output>
                <soap:body use="literal" parts="body"/>
            </output>
            <fault name="fault">
                <soap:fault name="fault" use="literal" />
            </fault>
        </operation>
    </binding>

    <service name="HelloService">
        <port name="HelloPort" binding="tns:HelloSoapBinding">
            <soap:address location="http://localhost:8080/hello"/>
        </port>
    </service>

</definitions>
