<?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 targetNamespace="http://org.apache.axis2.jaxws.description.impl.ClientDBCSupportEndpointTests"
             xmlns:tns="http://org.apache.axis2.jaxws.description.impl.ClientDBCSupportEndpointTests"
             xmlns="http://schemas.xmlsoap.org/wsdl/"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">     
  <types>      
    <xsd:schema targetNamespace="http://description.jaxws.axis2.apache.org" 
                xmlns:ts="http://description.jaxws.axis2.apache.org/xsd"
                xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">           
      <complexType name="echoMessage">
        <sequence>
          <element name="request" type="xsd:string"/>
        </sequence>          
      </complexType>           
      <complexType name="echoMessageResponse">             
        <sequence>                
          <element name="response" type="xsd:string"/>            
        </sequence>          
      </complexType>           
      <element name="echoMessage" type="tns:echoMessage"/>          
      <element name="echoMessageResponse" type="tns:echoMessageResponse"/>        
    </xsd:schema>    
  </types>     

  <message name="echoMessage">       
    <part name="message" element="tns:echoMessage"/>    
  </message>     

  <message name="echoMessageResponse">       
    <part name="result" element="tns:echoMessageResponse"/>    
  </message>     

  <portType name="EchoMessagePortType">       
    <operation name="echoMessage">          
      <input message="tns:echoMessage" />          
      <output message="tns:echoMessageResponse" />       
    </operation>    
  </portType>     

  <binding name="EchoMessageBinding" type="tns:EchoMessagePortType">       
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>       
    <operation name="echoMessage">          
      <soap:operation soapAction=""/>         
      <input>             
        <soap:body use="literal" namespace="http://org.apache.binding.ns"/>          
      </input>           
      <output>             
        <soap:body use="literal" namespace="http://org.apache.binding.ns"/>         
      </output>       
    </operation>    
  </binding>     

  <service name="svcLocalPart">       
    <port binding="tns:EchoMessageBinding" name="portLocalPart">          
      <soap:address location="http://localhost:8080/EchoMessageService/EchoMessageService"/>       
    </port>     
  </service>  
</definitions>
