20. July 2010 05:33
I know I usually write about Project Management related topics so I ask my regular readers to please bear with me. This one was a real pain to solve so I wanted to share it since TFS 2010 is fairly new and and error its giving out doesn’t really help. Recently while working with an enterprise client in a TFS2008 to TFS2010 migration (a real pain in itself) we came across an error in setting up the Team Build Service. The topology here put the TFS application tier on one server and the Team Build Service on its own machine (a Windows 2008 Server), and both the Controller and Agents were on this machine.
The problem we saw was that the the controller and agents couldn't connect (and of course all the team builds failed). The error was:
"There was no endpoint listening at http://somemachine.company.com/Build/v3.0/Services/Contoller3 that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details."
The error was displayed in the properties dialog for both the Controller and Agent as in the below screenshot:
After a lot of head banging, setting up traces, and a reinstall I realized that for some reason the configuration wizard put the FDQN (Fully Qualified Domain Name) rather than the machine name. Having debugged an issue on another products Web Service I decided to change it to use just the Machine Name and it instantly connected both the Controller and Agents.
This fix is simple thankfully. Change the local build service endpoint to NOT use a FQDN but just the machine name, restart the Build Controller and Agents.
To do this just get into the TFS Administration Console on the Build Server and click the Build Configuration node. From here click the Properties on the Build Service and you will get the following window:
The “Local Build Service Endpoint (incoming)” will be grayed out until you click the “stop to make changes” link. Click the link to stop the service then click the Change button to change just the FQDN to the machine name. From here just click the Start button and your Controller and Agents should be talking fine. It may take a minute once you restart the Build Service for everything to reestablish communication. I hope this helps someone on another TFS 2010 deployment.