Shipu
Shipu

Reputation: 563

authentication failed while connecting to tfs using tfs api

I am facing a strange issue.I want to connect tfs server using tfs api programmitcally. Even after giving proper authentcaion crediatials it is failing.But if I do it manually by typing tfs server name in browser its got connected.

code:

TeamFoundationServer tfs = new TeamFoundationServer(new Uri("http://10.112.205.145:8080/tfs"),  new NetworkCredential(@"usrname", "pwd", "domain"));
tfs.EnsureAuthenticated()

Please suggest.

Upvotes: 1

Views: 3632

Answers (3)

Cary
Cary

Reputation: 404

For your problem, normally you get an error like:

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.

The root cause of your problem is that the URI should be ended up with the collection name. So the fix would be, to change "http://10.112.205.145:8080/tfs" to "http://10.112.205.145:8080/tfs/%YourCollectionName%", then it will work! :-)

Upvotes: 0

James Reed
James Reed

Reputation: 14052

A simple way to do this is to add the "Syetem.Net" namespace to your code and then use the "CredentialCache" object. Using "DefaultCredentials" will Authenticate with the credentials of the active user.

// connect to the collection
using (TfsTeamProjectCollection teamProjectCollection = new TfsTeamProjectCollection("http://server:8080/tfs/DefaultCollection", CredentialCache.DefaultCredentials))
            { 
                //Do Stuff here 
            }

Upvotes: 4

The Unculled Badger
The Unculled Badger

Reputation: 760

Have you tried doing it this way..

TfsTeamProjectCollection collection = new TfsTeamProjectCollection(
    new Uri(http://server:8080/tfs/DefaultCollection,
    new System.Net.NetworkCredential("domain_name\\user_name", "pwd"));
collection.EnsureAuthenticated();

Upvotes: 1

Related Questions