<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ 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="WSDLInteropTestDocLitService"
    targetNamespace="http://soapinterop.org/WSDLInteropTestDocLit" 
    xmlns="http://schemas.xmlsoap.org/wsdl/" 
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
    xmlns:tns="http://soapinterop.org/WSDLInteropTestDocLit" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:xsd1="http://soapinterop.org/xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <types>
        <schema targetNamespace="http://soapinterop.org/xsd"
            xmlns="http://www.w3.org/2001/XMLSchema" 
            xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
            elementFormDefault="qualified">
            <complexType name="ArrayOfstring_literal">
                <sequence>
                    <element maxOccurs="unbounded" minOccurs="1" name="string" type="xsd:string"/>
                </sequence>
            </complexType>
	    <complexType name="SOAPStruct">
                <all>
                    <element name="varFloat" type="xsd:float"/>
                    <element name="varInt" type="xsd:int"/>
                    <element name="varString" type="xsd:string"/>
                </all>
            </complexType>
  
            <element name="echoStringParam" type="xsd:string"/>
         
            <element name="echoStringReturn" type="xsd:string"/>
            <element name="echoStringArrayParam" type="xsd1:ArrayOfstring_literal"/>
                
            <element name="echoStringArrayReturn" type="xsd1:ArrayOfstring_literal"/>
               
            <element name="echoStructParam" type="xsd1:SOAPStruct"/>
                   
            <element name="echoStructReturn" type="xsd1:SOAPStruct"/>
        </schema>
    </types>
    <message name="echoString">
        <part element="xsd1:echoStringParam" name="a"/>
    </message>
    <message name="echoStringResponse">
        <part element="xsd1:echoStringReturn" name="result"/>
    </message>
    <message name="echoStringArray">
        <part element="xsd1:echoStringArrayParam" name="a"/>
    </message>
    <message name="echoStringArrayResponse">
        <part element="xsd1:echoStringArrayReturn" name="result"/>
    </message>
    <message name="echoStruct">
        <part element="xsd1:echoStructParam" name="a"/>
    </message>
    <message name="echoStructResponse">
        <part element="xsd1:echoStructReturn" name="result"/>
    </message>
    <message name="echoVoid"/>
    <message name="echoVoidResponse"/>

    <portType name="WSDLInteropTestDocLitPortType">
        <operation name="echoString">
            <input message="tns:echoString" name="echoString"/>
            <output message="tns:echoStringResponse" name="echoStringResponse"/>
        </operation>
        <operation name="echoStringArray">
            <input message="tns:echoStringArray" name="echoStringArray"/>
            <output message="tns:echoStringArrayResponse" name="echoStringArrayResponse"/>
        </operation>
        <operation name="echoStruct">
            <input message="tns:echoStruct" name="echoStruct"/>
            <output message="tns:echoStructResponse" name="echoStructResponse"/>
        </operation>
        <operation name="echoVoid">
            <input message="tns:echoVoid" name="echoVoid"/>
            <output message="tns:echoVoidResponse" name="echoVoidResponse"/>
        </operation>
    </portType>
    <binding name="WSDLInteropTestDocLitPortBinding" 
        type="tns:WSDLInteropTestDocLitPortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="echoString">
            <soap:operation soapAction="http://soapinterop.org/" style="document"/>
            <input name="echoString">
                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
                    use="literal"/>
            </input>
            <output name="echoStringResponse">
                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
                    use="literal"/>
            </output>
        </operation>
        <operation name="echoStringArray">
            <soap:operation soapAction="http://soapinterop.org/" style="document"/>
            <input name="echoStringArray">
                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
                    use="literal"/>
            </input>
            <output name="echoStringArrayResponse">
                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
                    use="literal"/>
            </output>
        </operation>
        <operation name="echoStruct">
            <soap:operation soapAction="http://soapinterop.org/" style="document"/>
            <input name="echoStruct">
                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
                    use="literal"/>
            </input>
            <output name="echoStructResponse">
                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
                    use="literal"/>
            </output>
        </operation>
        <operation name="echoVoid">
            <soap:operation soapAction="http://soapinterop.org/" style="document"/>
            <input name="echoVoid">
                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
                    use="literal"/>
            </input>
            <output name="echoVoidResponse">
                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
                    use="literal"/>
            </output>
        </operation>
    </binding>
    <service name="WSDLInteropTestDocLitService">
        <port binding="tns:WSDLInteropTestDocLitPortBinding" 
            name="WSDLInteropTestDocLitPort">
            <soap:address 
                location="http://www.whitemesa.net/interop/r3/doclit"/>
        </port>
    </service>
</definitions>
