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.
Please sign in to leave a comment.
Please try workaround described here: http://devnet.jetbrains.com/message/5503671#5503671
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.
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