<?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.
  -->

<wsdl:definitions targetNamespace="http://org/apache/axis2/jaxws/test/SOAP12"
    xmlns:impl="http://org/apache/axis2/jaxws/test/SOAP12" 
    xmlns:intf="http://org/apache/axis2/jaxws/test/SOAP12" 
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
    xmlns:wsdlsoap12="http://schemas.xmlsoap.org/wsdl/soap12/" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <wsdl:types>
  <schema elementFormDefault="qualified" targetNamespace="http://org/apache/axis2/jaxws/test/SOAP12" 
        xmlns="http://www.w3.org/2001/XMLSchema" 
        xmlns:impl="http://org/apache/axis2/jaxws/test/SOAP12" 
        xmlns:intf="http://org/apache/axis2/jaxws/test/SOAP12" 
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
        xmlns:xsd="http://www.w3.org/2001/XMLSchema">

   <element name="echoString">
    <complexType>
     <sequence>
      <element name="input" nillable="true" type="xsd:string"/>
     </sequence>
    </complexType>
   </element>
   <element name="echoStringResponse">
    <complexType>
     <sequence>
      <element name="echoStringReturn" nillable="true" type="xsd:string"/>
     </sequence>
    </complexType>
   </element>
   
   <!--
   <element name="echoStringRequest">
    <complexType>
     <sequence>
      <element name="echoStringInput" nillable="true" type="xsd:string"/>
     </sequence>
    </complexType>
   </element>
   -->
        </schema>
 </wsdl:types>

   <wsdl:message name="echoStringResponse">

      <wsdl:part element="impl:echoStringResponse" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="echoStringRequest">

      <wsdl:part element="impl:echoString" name="parameters"/>

   </wsdl:message>

   <wsdl:portType name="Echo">

      <wsdl:operation name="echoString">

         <wsdl:input message="impl:echoStringRequest" name="echoStringRequest"/>

         <wsdl:output message="impl:echoStringResponse" name="echoStringResponse"/>

      </wsdl:operation>

   </wsdl:portType>

   <wsdl:binding name="SOAP12Binding" type="impl:Echo">

      <wsdlsoap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

      <wsdl:operation name="echoString">

         <wsdlsoap12:operation soapAction=""/>

         <wsdl:input name="echoStringRequest">

            <wsdlsoap12:body use="literal"/>

         </wsdl:input>

         <wsdl:output name="echoStringResponse">

            <wsdlsoap12:body use="literal"/>

         </wsdl:output>

      </wsdl:operation>

   </wsdl:binding>

   <wsdl:service name="SOAP12ProviderService">

      <wsdl:port binding="impl:SOAP12Binding" name="SOAP12ProviderPort">

         <wsdlsoap12:address location="http://localhost:9080/axis2/services/SOAP12Service"/>

      </wsdl:port>

   </wsdl:service>

</wsdl:definitions>
