<?xml version="1.0" encoding="UTF-8" ?> 
<!-- Copyright 2003-2004 The Apache Software Foundation.                      -->
<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved                   -->
<!--                                                                          -->
<!-- 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.                                           -->

  <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
	xmlns:tns="http://tempuri.org/UDDI/" 
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
	xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
	name="UDDI" 
	targetNamespace="http://tempuri.org/UDDI/" 
	xmlns:wsdl1="urn:uddi-org:inquiry_v2">

  <wsdl:import namespace="urn:uddi-org:inquiry_v2" location="inquire_v2.wsdl" /> 

  <wsdl:service name="UDDI">
    <wsdl:port binding="wsdl1:InquireSoap" name="UDDIinquire">
      <soap:address location="http://tempuri.org" /> 
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
