<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://microsoft.com/webservices/" xmlns:s1="http://microsoft.com/wsdl/types/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://microsoft.com/webservices/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://microsoft.com/webservices/">
      <s:import namespace="http://microsoft.com/wsdl/types/" />
      <s:element name="SaveServiceDefinitions">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="serviceDefinitions" type="tns:ArrayOfServiceDefinition" />
            <s:element minOccurs="1" maxOccurs="1" name="lastChangeId" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfServiceDefinition">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="ServiceDefinition" nillable="true" type="tns:ServiceDefinition" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ServiceDefinition">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="LocationMappings" type="tns:ArrayOfLocationMapping" />
        </s:sequence>
        <s:attribute name="serviceType" type="s:string" />
        <s:attribute name="identifier" type="s1:guid" use="required" />
        <s:attribute name="displayName" type="s:string" />
        <s:attribute name="relativeToSetting" type="s:int" use="required" />
        <s:attribute name="relativePath" type="s:string" />
        <s:attribute name="description" type="s:string" />
        <s:attribute name="toolId" type="s:string" />
      </s:complexType>
      <s:complexType name="ArrayOfLocationMapping">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="LocationMapping" nillable="true" type="tns:LocationMapping" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="LocationMapping">
        <s:attribute name="accessMappingMoniker" type="s:string" />
        <s:attribute name="location" type="s:string" />
      </s:complexType>
      <s:element name="SaveServiceDefinitionsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="SaveServiceDefinitionsResult" type="tns:LocationServiceData" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="LocationServiceData">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="ServiceDefinitions" type="tns:ArrayOfServiceDefinition" />
          <s:element minOccurs="0" maxOccurs="1" name="AccessMappings" type="tns:ArrayOfAccessMapping" />
        </s:sequence>
        <s:attribute name="DefaultAccessMappingMoniker" type="s:string" />
        <s:attribute name="LastChangeId" type="s:int" use="required" />
        <s:attribute name="ClientCacheFresh" type="s:boolean" use="required" />
        <s:attribute default="3600" name="ClientCacheTimeToLive" type="s:int"/>
        <s:attribute name="AccessPointsDoNotIncludeWebAppRelativeDirectory" type="s:boolean" use="required" />
      </s:complexType>
      <s:complexType name="ArrayOfAccessMapping">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="AccessMapping" nillable="true" type="tns:AccessMapping" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="AccessMapping">
        <s:attribute name="DisplayName" type="s:string" />
        <s:attribute name="Moniker" type="s:string" />
        <s:attribute name="AccessPoint" type="s:string" />
        <s:attribute name="VirtualDirectory" type="s:string"/>
      </s:complexType>
      <s:element name="RemoveServiceDefinitions">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="serviceDefinitions" type="tns:ArrayOfServiceDefinition" />
            <s:element minOccurs="1" maxOccurs="1" name="lastChangeId" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="RemoveServiceDefinitionsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="RemoveServiceDefinitionsResult" type="tns:LocationServiceData" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ConfigureAccessMapping">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="accessMapping" type="tns:AccessMapping" />
            <s:element minOccurs="1" maxOccurs="1" name="lastChangeId" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="makeDefault" type="s:boolean" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ConfigureAccessMappingResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ConfigureAccessMappingResult" type="tns:LocationServiceData" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="SetDefaultAccessMapping">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="accessMapping" type="tns:AccessMapping" />
            <s:element minOccurs="1" maxOccurs="1" name="lastChangeId" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="SetDefaultAccessMappingResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="SetDefaultAccessMappingResult" type="tns:LocationServiceData" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="RemoveAccessMapping">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="accessMapping" type="tns:AccessMapping" />
            <s:element minOccurs="1" maxOccurs="1" name="lastChangeId" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="RemoveAccessMappingResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="RemoveAccessMappingResult" type="tns:LocationServiceData" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="QueryServices">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="serviceTypeFilters" type="tns:ArrayOfServiceTypeFilter" />
            <s:element minOccurs="1" maxOccurs="1" name="lastChangeId" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfServiceTypeFilter">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="ServiceTypeFilter" nillable="true" type="tns:ServiceTypeFilter" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ServiceTypeFilter">
        <s:attribute name="ServiceType" type="s:string" />
        <s:attribute name="Identifier" type="s1:guid" use="required" />
      </s:complexType>
      <s:element name="QueryServicesResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="QueryServicesResult" type="tns:LocationServiceData" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="Connect">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="connectOptions" type="s:int" />
            <!--[IntelliJ] Used before tfs 2013 -->
            <s:element minOccurs="0" maxOccurs="1" name="serviceTypeFilters" type="tns:ArrayOfServiceTypeFilter" />
            <!--[IntelliJ] ******************* -->
            <s:element minOccurs="1" maxOccurs="1" name="lastChangeId" type="s:int" />
            <!--[IntelliJ] minOccurs set to 0 -->
            <s:element minOccurs="0" maxOccurs="1" name="features" type="s:int" />
            <!--[IntelliJ] ******************* -->
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ConnectResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ConnectResult" type="tns:ConnectionData" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ConnectionData">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="AuthenticatedUser" type="tns:TeamFoundationIdentity" />
          <s:element minOccurs="0" maxOccurs="1" name="AuthorizedUser" type="tns:TeamFoundationIdentity" />
          <s:element minOccurs="0" maxOccurs="1" name="LocationServiceData" type="tns:LocationServiceData" />
        </s:sequence>
        <s:attribute name="InstanceId" type="s1:guid" use="required" />
        <s:attribute name="CatalogResourceId" type="s1:guid" use="required" />
        <s:attribute name="WebApplicationRelativeDirectory" type="s:string" />
        <!--[IntelliJ] removed use="required" -->
        <s:attribute name="ServerCapabilities" type="s:int" />
        <!--[IntelliJ] ******************* -->
        <s:attribute name="ServerVersion" type="s:string"/>
      </s:complexType>
      <s:complexType name="TeamFoundationIdentity">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Descriptor" type="tns:IdentityDescriptor" />
          <s:element minOccurs="0" maxOccurs="1" name="Attributes" type="tns:ArrayOfKeyValueOfStringString" />
          <s:element minOccurs="0" maxOccurs="1" name="Properties" type="tns:ArrayOfPropertyValue" />
          <s:element minOccurs="0" maxOccurs="1" name="LocalProperties" type="tns:ArrayOfPropertyValue" />
          <s:element minOccurs="0" maxOccurs="1" name="Members" type="tns:ArrayOfIdentityDescriptor" />
          <s:element minOccurs="0" maxOccurs="1" name="MemberOf" type="tns:ArrayOfIdentityDescriptor" />
          <s:element minOccurs="0" maxOccurs="1" name="ProviderDisplayName" type="s:string"/>
          <s:element minOccurs="0" maxOccurs="1" name="CustomDisplayName" type="s:string"/>
        </s:sequence>
        <s:attribute name="DisplayName" type="s:string" />
        <s:attribute name="IsContainer" type="s:boolean" use="required" />
        <s:attribute name="IsActive" type="s:boolean" use="required" />
        <s:attribute name="TeamFoundationId" type="s1:guid" use="required" />
        <s:attribute name="UniqueName" type="s:string" />
        <s:attribute name="UniqueUserId" type="s:int" use="required" />
      </s:complexType>
      <s:complexType name="IdentityDescriptor">
        <s:attribute name="identityType" type="s:string" />
        <s:attribute name="identifier" type="s:string" />
      </s:complexType>
      <s:complexType name="ReadOnlyIdentityDescriptor">
        <s:complexContent mixed="false">
          <s:extension base="tns:IdentityDescriptor" />
        </s:complexContent>
      </s:complexType>
      <s:complexType name="ArrayOfKeyValueOfStringString">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOfStringString" nillable="true" type="tns:KeyValueOfStringString" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="KeyValueOfStringString">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Key" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Value" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfPropertyValue">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="PropertyValue" nillable="true" type="tns:PropertyValue" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="PropertyValue">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="val" nillable="true" />
          <s:element minOccurs="1" maxOccurs="1" name="ChangedBy" nillable="true" type="s1:guid" />
          <s:element minOccurs="1" maxOccurs="1" name="ChangedDate" nillable="true" type="s:dateTime" />
        </s:sequence>
        <s:attribute name="pname" type="s:string" />
      </s:complexType>
      <s:complexType name="ArrayOfIdentityDescriptor">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="IdentityDescriptor" nillable="true" type="tns:IdentityDescriptor" />
        </s:sequence>
      </s:complexType>
    </s:schema>
    <s:schema elementFormDefault="qualified" targetNamespace="http://microsoft.com/wsdl/types/">
      <s:simpleType name="guid">
        <s:restriction base="s:string">
          <s:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" />
        </s:restriction>
      </s:simpleType>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="SaveServiceDefinitionsSoapIn">
    <wsdl:part name="parameters" element="tns:SaveServiceDefinitions" />
  </wsdl:message>
  <wsdl:message name="SaveServiceDefinitionsSoapOut">
    <wsdl:part name="parameters" element="tns:SaveServiceDefinitionsResponse" />
  </wsdl:message>
  <wsdl:message name="RemoveServiceDefinitionsSoapIn">
    <wsdl:part name="parameters" element="tns:RemoveServiceDefinitions" />
  </wsdl:message>
  <wsdl:message name="RemoveServiceDefinitionsSoapOut">
    <wsdl:part name="parameters" element="tns:RemoveServiceDefinitionsResponse" />
  </wsdl:message>
  <wsdl:message name="ConfigureAccessMappingSoapIn">
    <wsdl:part name="parameters" element="tns:ConfigureAccessMapping" />
  </wsdl:message>
  <wsdl:message name="ConfigureAccessMappingSoapOut">
    <wsdl:part name="parameters" element="tns:ConfigureAccessMappingResponse" />
  </wsdl:message>
  <wsdl:message name="SetDefaultAccessMappingSoapIn">
    <wsdl:part name="parameters" element="tns:SetDefaultAccessMapping" />
  </wsdl:message>
  <wsdl:message name="SetDefaultAccessMappingSoapOut">
    <wsdl:part name="parameters" element="tns:SetDefaultAccessMappingResponse" />
  </wsdl:message>
  <wsdl:message name="RemoveAccessMappingSoapIn">
    <wsdl:part name="parameters" element="tns:RemoveAccessMapping" />
  </wsdl:message>
  <wsdl:message name="RemoveAccessMappingSoapOut">
    <wsdl:part name="parameters" element="tns:RemoveAccessMappingResponse" />
  </wsdl:message>
  <wsdl:message name="QueryServicesSoapIn">
    <wsdl:part name="parameters" element="tns:QueryServices" />
  </wsdl:message>
  <wsdl:message name="QueryServicesSoapOut">
    <wsdl:part name="parameters" element="tns:QueryServicesResponse" />
  </wsdl:message>
  <wsdl:message name="ConnectSoapIn">
    <wsdl:part name="parameters" element="tns:Connect" />
  </wsdl:message>
  <wsdl:message name="ConnectSoapOut">
    <wsdl:part name="parameters" element="tns:ConnectResponse" />
  </wsdl:message>
  <wsdl:portType name="LocationWebServiceSoap">
    <wsdl:operation name="SaveServiceDefinitions">
      <wsdl:input message="tns:SaveServiceDefinitionsSoapIn" />
      <wsdl:output message="tns:SaveServiceDefinitionsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="RemoveServiceDefinitions">
      <wsdl:input message="tns:RemoveServiceDefinitionsSoapIn" />
      <wsdl:output message="tns:RemoveServiceDefinitionsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ConfigureAccessMapping">
      <wsdl:input message="tns:ConfigureAccessMappingSoapIn" />
      <wsdl:output message="tns:ConfigureAccessMappingSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="SetDefaultAccessMapping">
      <wsdl:input message="tns:SetDefaultAccessMappingSoapIn" />
      <wsdl:output message="tns:SetDefaultAccessMappingSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="RemoveAccessMapping">
      <wsdl:input message="tns:RemoveAccessMappingSoapIn" />
      <wsdl:output message="tns:RemoveAccessMappingSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="QueryServices">
      <wsdl:input message="tns:QueryServicesSoapIn" />
      <wsdl:output message="tns:QueryServicesSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="Connect">
      <wsdl:input message="tns:ConnectSoapIn" />
      <wsdl:output message="tns:ConnectSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="LocationWebServiceSoap" type="tns:LocationWebServiceSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="SaveServiceDefinitions">
      <soap:operation soapAction="http://microsoft.com/webservices/SaveServiceDefinitions" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RemoveServiceDefinitions">
      <soap:operation soapAction="http://microsoft.com/webservices/RemoveServiceDefinitions" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ConfigureAccessMapping">
      <soap:operation soapAction="http://microsoft.com/webservices/ConfigureAccessMapping" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SetDefaultAccessMapping">
      <soap:operation soapAction="http://microsoft.com/webservices/SetDefaultAccessMapping" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RemoveAccessMapping">
      <soap:operation soapAction="http://microsoft.com/webservices/RemoveAccessMapping" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="QueryServices">
      <soap:operation soapAction="http://microsoft.com/webservices/QueryServices" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Connect">
      <soap:operation soapAction="http://microsoft.com/webservices/Connect" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="LocationWebServiceSoap12" type="tns:LocationWebServiceSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="SaveServiceDefinitions">
      <soap12:operation soapAction="http://microsoft.com/webservices/SaveServiceDefinitions" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RemoveServiceDefinitions">
      <soap12:operation soapAction="http://microsoft.com/webservices/RemoveServiceDefinitions" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ConfigureAccessMapping">
      <soap12:operation soapAction="http://microsoft.com/webservices/ConfigureAccessMapping" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SetDefaultAccessMapping">
      <soap12:operation soapAction="http://microsoft.com/webservices/SetDefaultAccessMapping" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RemoveAccessMapping">
      <soap12:operation soapAction="http://microsoft.com/webservices/RemoveAccessMapping" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="QueryServices">
      <soap12:operation soapAction="http://microsoft.com/webservices/QueryServices" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Connect">
      <soap12:operation soapAction="http://microsoft.com/webservices/Connect" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="LocationWebService">
    <wsdl:port name="LocationWebServiceSoap" binding="tns:LocationWebServiceSoap">
      <soap:address location="http://unit-300:8080/tfs/TeamFoundation/Administration/v3.0/LocationService.asmx" />
    </wsdl:port>
    <wsdl:port name="LocationWebServiceSoap12" binding="tns:LocationWebServiceSoap12">
      <soap12:address location="http://unit-300:8080/tfs/TeamFoundation/Administration/v3.0/LocationService.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>