<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2003-2004 The Apache Software Foundation.                      -->
<!--                                                                          -->
<!-- Licensed 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="ExtensibilityQuery" targetNamespace="urn:ExtensibilityQuery"

xmlns="http://schemas.xmlsoap.org/wsdl/"

xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

xmlns:tns="urn:ExtensibilityQuery" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <types>

    <xsd:schema attributeFormDefault="qualified"

    elementFormDefault="qualified" targetNamespace="urn:ExtensibilityQuery">



      <xsd:complexType name="ExtensibilityType">

        <xsd:sequence>

          <xsd:any namespace="##any"/>

        </xsd:sequence>

      </xsd:complexType>



      <xsd:element name="query">

        <xsd:complexType>

          <xsd:sequence>

            <xsd:any namespace="##any" />

          </xsd:sequence>

        </xsd:complexType>

      </xsd:element>



      <xsd:element name="queryResponse">

        <xsd:complexType>

          <xsd:sequence>

            <xsd:any namespace="##any" />

          </xsd:sequence>

        </xsd:complexType>

      </xsd:element>



    </xsd:schema>

  </types>



  <message name="queryIn">

    <part element="tns:query" name="parameters" />

  </message>



  <message name="queryOut">

    <part element="tns:queryResponse" name="parameters" />

  </message>



  <portType name="ExtensibilityQueryPortType">

    <operation name="query">

      <input message="tns:queryIn" />

      <output message="tns:queryOut" />

    </operation>

  </portType>



  <binding name="ExtensibilityQueryBinding" type="tns:ExtensibilityQueryPortType">

    <soap:binding style="document"

    transport="http://schemas.xmlsoap.org/soap/http" />

    <operation name="query">

      <soap:operation soapAction="ExtensibilityQuery#query" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

  </binding>



  <service name="ExtensibilityQuery">

    <port binding="tns:ExtensibilityQueryBinding" name="ExtensibilityQueryPort">

        <soap:address location="http://localhost:8080/axis/testXSDANY"/>

    </port>

  </service>

</definitions>



