<?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 xmlns:s1="http://soapinterop.org" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/xsd" xmlns:s2="http://soapinterop.org/AbstractTypes" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org" xmlns="http://schemas.xmlsoap.org/wsdl/">
  <types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd">
      <s:import namespace="http://soapinterop.org" />
      <s:element name="echoStructParam" type="s0:SOAPStruct" />
      <s:complexType name="SOAPStruct">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="varFloat" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="varInt" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="varString" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="echoStructReturn" type="s0:SOAPStruct" />
      <s:element name="echoStringArrayParam" type="s1:ArrayOfString" />
      <s:element name="string" type="s:string" />
      <s:element name="echoStringArrayReturn" type="s1:ArrayOfString" />
      <s:element name="echoStringParam" type="s:string" />
      <s:element name="echoStringReturn" type="s:string" />
    </s:schema>
    <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org">
      <s:import namespace="http://soapinterop.org/xsd" />
      <s:complexType name="ArrayOfString">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" ref="s0:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="ArrayOfString1" nillable="true" type="s1:ArrayOfString1" />
      <s:complexType name="ArrayOfString1">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="string" nillable="true" type="s:string" />
    </s:schema>
    <s:schema targetNamespace="http://soapinterop.org/AbstractTypes">
      <s:complexType name="StringArray">
        <s:complexContent mixed="false">
          <s:restriction base="soapenc:Array">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="String" type="s:string" />
            </s:sequence>
          </s:restriction>
        </s:complexContent>
      </s:complexType>
    </s:schema>
  </types>
  <message name="echoStructSoapIn">
    <part name="echoStructParam" element="s0:echoStructParam" />
  </message>
  <message name="echoStructSoapOut">
    <part name="echoStructResult" element="s0:echoStructReturn" />
  </message>
  <message name="echoStringArraySoapIn">
    <part name="echoStringArrayParam" element="s0:echoStringArrayParam" />
  </message>
  <message name="echoStringArraySoapOut">
    <part name="echoStringArrayResult" element="s0:echoStringArrayReturn" />
  </message>
  <message name="echoStringSoapIn">
    <part name="echoStringParam" element="s0:echoStringParam" />
  </message>
  <message name="echoStringSoapOut">
    <part name="echoStringResult" element="s0:echoStringReturn" />
  </message>
  <portType name="WSDLInteropTestDocLitSoap">
    <operation name="echoStruct">
      <input message="s1:echoStructSoapIn" />
      <output message="s1:echoStructSoapOut" />
    </operation>
    <operation name="echoStringArray">
      <input message="s1:echoStringArraySoapIn" />
      <output message="s1:echoStringArraySoapOut" />
    </operation>
    <operation name="echoString">
      <input message="s1:echoStringSoapIn" />
      <output message="s1:echoStringSoapOut" />
    </operation>
  </portType>
  <binding name="WSDLInteropTestDocLitSoap" type="s1:WSDLInteropTestDocLitSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    <operation name="echoStruct">
      <soap:operation soapAction="http://soapinterop.org/" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="echoStringArray">
      <soap:operation soapAction="http://soapinterop.org/" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="echoString">
      <soap:operation soapAction="http://soapinterop.org/" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
  </binding>
  <service name="WSDLInteropTestDocLit">
    <port name="WSDLInteropTestDocLitSoap" binding="s1:WSDLInteropTestDocLitSoap">
      <soap:address location="http://mssoapinterop.org/asmx/wsdl/InteropTestDocLit.asmx" />
    </port>
  </service>
</definitions>
