Yow-Hann Lee - Software Happens

All things Computer Science, .NET & WWW

  Home  |   Contact  |   Syndication    |   Login
  132 Posts | 7 Stories | 38 Comments | 50 Trackbacks

News


Article Categories

Archives

Post Categories

About

As a continuation of my TFS post, most people who have come to use TFS as their centralized work, bug tracking and source control system will realize that it stops working when you have Fiddler on. A quick Google search will turn up a result relating to this at: http://groups.msn.com/HTTPFiddler/bugs.msnw?action=get_message&mview=0&ID_Message=48. Unfortunately, the issue is not really about the order in which you start the apps.

Regardless of the order in which you start TFS and Fiddler, you will see an error along the lines of:

Team Foundation Error

Team Foundation Server * does not exist or is not acessible at this time.

Because Fiddler plays a role in incoming and outgoing HTTP traffic, you will get a 401 Access Denied response as opposed to a 200 with your response. As shown below, NTLM authentication fails.

HTTP/1.1 401 Unauthorized
Content-Length: 83
Content-Type: text/html
Server: Microsoft-IIS/6.0
WWW-Authenticate: NTLM
Date: Sat, 6 Jan 2007 07:09:16 GMT

<html><head><title>Error</title></head><body>Error: Access is Denied.</body></html>
You can still have both TFS and Fiddler on (as long as Data Capture is off). Your TFS client (Visual Studio 2005) simply talks to a web service. And having fiddler capture on means no access to below:
# AddConflict
# CheckAuthentication
# CheckIn
# CheckPendingChanges
# CreateAnnotation
# CreateCheckinNoteDefinition
# CreateTeamProjectFolder
# CreateWorkspace
# DeleteAnnotation
# DeleteLabel
# DeleteShelveset
# DeleteWorkspace
# Get
# GetRepositoryProperties
# LabelItem
# Merge
# PendChanges
# QueryBranches
# QueryChangeset
# QueryCheckinNoteDefinition
# QueryCheckinNoteFieldNames
# QueryConflicts
# QueryEffectiveGlobalPermissions
# QueryEffectiveItemPermissions
# QueryFileTypes
# QueryGlobalPermissions
# QueryHistory
# QueryItemPermissions
# QueryItems
# QueryItemsById
# QueryItemsExtended
# QueryLabels
# QueryMergeCandidates
# QueryMerges
# QueryMergesWithDetails
# QueryPendingChangesById
# QueryPendingSets
# QueryShelvedChanges
# QueryShelvesets
# QueryWorkspace
# QueryWorkspaces
# RefreshIdentityDisplayName
# RemoveLocalConflict
# Resolve
# SetFileTypes
# Shelve
# UndoPendingChanges
# UnlabelItem
# Unshelve
# UpdateChangeset
# UpdateCheckinNoteFieldName
# UpdateGlobalSecurity
# UpdateItemSecurity
# UpdateLocalVersion
# UpdatePendingState
# UpdateWorkspace


posted on Saturday, June 23, 2007 12:40 AM

Feedback

# re: Fiddler and TFS don't play nicely 6/25/2007 2:23 AM Oz

You can have Fiddler running AND data capture on.
Open Internet Explorer.
Go to Tools-->Internet Options-->Connections tab-->LAN Settings-->make sure that "Bypass proxy server for local addresses" is checked.


# VSTS Links - 06/25/2007 6/25/2007 9:04 AM Team System News
Yow-Hann Lee on Fiddler and TFS don't play nicely. Jeff Beehler on Overview of Visual Studio Team Developer...

# re: Fiddler and TFS don't play nicely 6/25/2007 11:02 AM Yow-Hann Lee
Thanks for the comment, Oz is right about this as well. My assumption is for people who launch Fiddler independently from IE. And the path least resistance is in pressing F12 directly in lieu of the steps above.

On that note, one benefit of bypassing proxy server for local addresses is that you can still capture data via Firefox browser (if you configure it) and still work with TFS. Yes, I know...a bit ironic considering TFS, IE and Fiddler are homogeneous in that they are all MS technologies.

# re: Fiddler and TFS don't play nicely 8/2/2007 12:46 AM breezback
Can't we tell Fiddler to ignore those requests??

Thanks ;)

# re: Fiddler and TFS don't play nicely 8/13/2007 7:14 PM Eric Lawrence
The issue here is that TFS is throwing exceptions because it expects a Connection: close header when Fiddler isn't sending one.

You can easily fix this in Fiddler. Click Rules > Customize Rules. Scroll down to the bottom of OnBeforeResponse. Uncomment the lines:

// Uncomment to reduce incidence of "unexpected socket closure" exceptions in .NET code.
// Note that you really should also fix your .NET code to gracefully handle unexpected connection closure.
//
// if (!(((oSession.responseCode == 401) && oSession.oResponse["WWW-Authenticate"].Length > 9) ||
// ((oSession.responseCode == 407) && oSession.oResponse["Proxy-Authenticate"].Length > 9))) {
// oSession.oResponse["Connection"] = "close";
// }

# re: Fiddler and TFS don't play nicely 8/30/2007 11:50 AM Renge
Uncommenting those lines did not resolve the problem.

Post Feedback

Title:
Name:
Email: (never displayed)
Url:
Comments: 
Please add 2 and 7 and type the answer here: