Use TFS Proxy

We are using Visual Studio online and TeamCity version 7.1.4.  I am able to collect to our TFS collection using my LiveID.  However, doing a "get" on our source tree is quite slow so I have created a TFS Proxy server - using TFS 2013 - to speed source control downloads.  My question is can I create a Team Foundation Server VCS Root using this proxy?  Is there any required software that needs to be installed on the proxy server?

When I enter the Proxy URL in the TFS Settings (http://tfs-proxy:8080/DefaultCollection), I get the following error when testing my connection:


INFO  - Use Team Explorer 2010
INFO  -
TFS Native Accessor v7.1 Copyright (C) 2006-2012 JetBrains s.r.o.
INFO  - Connecting to server http://tfs-proxy:8080/DefaultCollection
Connection test:
  Server='http://tfs-proxy:8080'
  Username='xdomain\testuser'
  Root='$/Software/Trunk'
ERROR - Team Foundation services are not available from server http://tfs-proxy:8080/.
Technical information (for administrator):
  The file '/Services/v1.0/Registration.asmx' does not exist.
System.Exception: Team Foundation services are not available from server http://tfs-proxy:8080/.



thanks.

2 comments
Comment actions Permalink

Thanks Pavel.

I have set the internal property teamcity.tfs.useSystemProxy=true to get past the initial error.  Thank you.  However, I am still unable to connect TeamCity to my TFS 2013 proxy server.  It fails instantly when I click Test Connection in the VCS root settings.  I have verified that the proxy server is working as expected and caching source code from our VS Online TFVC system and I can connect VS 2013 to the cache.

The 404 error concerns me because I'm not sure what TeamCity is attempting to connect to when I configure a proxy server as the VCS root.  Can it truely not find a specific file or is this a permission issue in IIS on the proxy server?



Here's the error.

Test connection failed in DPS :: Trunk/CI. TFS failed. ExitCode: 111, command: C:\TeamCity\webapps\ROOT\WEB-INF\plugins\tfs\bin\tfs-native.exe @@c:\TeamCity\bin\..\temp\TC-TFS-41-404_555\command.params, in file: {http://tfs-proxy:8080, /user:***** /password:***** /hash:S, C:\TeamCity\temp\TC-TFS-41-404_554.result, ConnectionTest, $/Software/Trunk}, completed in: 0 second(s)
stdout: TFS Native Verifier v8.0 Copyright (C) 2006-2013 JetBrains s.r.o.
Running under .NET Framework 4.0.30319.18408
INFO  -
INFO  - Use Team Explorer 2012
INFO  -
TFS Native Accessor v8.0 Copyright (C) 2006-2013 JetBrains s.r.o.
INFO  - Connecting to server http://tfs-proxy:8080
Connection test:
  Server='http://tfs-proxy:8080'
  Username='xdomain\testuser'
  Root='$/Software/Trunk'
ERROR - TF31002: Unable to connect to this Team Foundation Server: http://tfs-proxy:8080/.
Team Foundation Server Url: http://tfs-proxy:8080/.
Possible reasons for failure include:
- The name, port number, or protocol for the Team Foundation Server is incorrect.
- The Team Foundation Server is offline.
- The password has expired or is incorrect.
Technical information (for administrator):
The remote server returned an error: (404) Not Found.
System.Exception: TF31002: Unable to connect to this Team Foundation Server: http://tfs-proxy:8080/.
Team Foundation Server Url: http://tfs-proxy:8080/.
Possible reasons for failure include:
- The name, port number, or protocol for the Team Foundation Server is incorrect.
- The Team Foundation Server is offline.
- The password has expired or is incorrect.
Technical information (for administrator):
The remote server returned an error: (404) Not Found. ---> Microsoft.TeamFoundation.TeamFoundationServiceUnavailableException: TF31002: Unable to connect to this Team Foundation Server: http://tfs-proxy:8080/.
Team Foundation Server Url: http://tfs-proxy:8080/.
Possible reasons for failure include:
- The name, port number, or protocol for the Team Foundation Server is incorrect.
- The Team Foundation Server is offline.
- The password has expired or is incorrect.
Technical information (for administrator):
The remote server returned an error: (404) Not Found. ---> System.Net.WebException: The remote server returned an error: (404) Not Found.
   at System.Net.HttpWebRequest.GetResponse()
   at Microsoft.TeamFoundation.Client.Channels.TfsHttpWebRequest.SendRequestAndGetResponse(HttpWebRequest webRequest, WebException& webException)
   --- End of inner exception stack trace ---
   at Microsoft.TeamFoundation.Client.TfsConnection.EnsureProviderConnected()
   at JetBrains.TeamCity.Tfs.Command.Do() in c:\BuildAgent\work\387377bd5199951a\TfsNativeAccessor\src\Command.cs:line 28
   at JetBrains.TeamCity.Tfs.Program.Main(String[] args) in c:\BuildAgent\work\387377bd5199951a\TfsNativeAccessor\src\Program.cs:line 134
   --- End of inner exception stack trace ---
   at JetBrains.TeamCity.Tfs.Program.Main(String[] args) in c:\BuildAgent\work\387377bd5199951a\TfsNativeAccessor\src\Program.cs:line 438
0

Please sign in to leave a comment.