Visual Studio, Team Foundation Server and Fiddler Discord
The project that I'm wrapping up at the end of July has been working with Reporting Services and SOAP-based web services. It's not the first time I've worked with the combination, but the unique combinations for how the services are being generated, combined with how Reporting Services tries to "magically" do lots of stuff "for" you has been leading to unique problems.
Whenever dealing with SOAP or AJAX (or anything else that sends its data over HTTP), your best friend should be your friendly HTTP packet sniffer. And, when your technology stack is Microsoft-centric (as it is this time), Fiddler fits the bill.
It shows you nice explanations of the requests as well as the responses and really lets you see what's going back and forth. That part did its job. However, Fiddler got in the way of other parts of the project.
See, Team Foundation Server, Microsoft's source code management solution is integrated tightly with the solution files. When you edit a report, it checks out a working copy and when you're done with it, you check it back in.
The thing that isn't immediately obvious when you start using it, however, is that it uses the extended HTTP verbs in WebDAV to do all of that file manipulation. That causes a problem because Fiddler hijacks all HTTP traffic that is done by the Windows/IE objects, which includes all of Visual Studio.
So, you launch Fiddler to figure out what's wrong with a report, see the error in the Fiddler logs and then go to change the report only to get an error that the Team Foundation Server is unavailable. The first few times this happened, there were several others all using Fiddler at the same time, so we thought the server actually was down.
However, after checking a little closer, we saw that Fiddler was fouling up those non-standard requests and stopping the functionality. So, if you shut Fiddler off, Team Foundation Server cooperates, but you can't watch HTTP traffic. And, if you can watch HTTP traffic, you can't manipulate the files that are broken. It's kind of an irritating Catch 22.
While there are other tools like WireShark (formerly ethereal) that can replace Fiddler, they aren't nearly as easy or handy to use. At any rate, I thought someone else might benefit from knowing what's going on so you can either do the choppy workflow of shutting it off between file changes or choose another tool. At least instead of wondering what the heck is going on.


