Atlanta .NET Regular Guys

News

Brendon Schwartz - Email Me
Matt Ranlett - Email Me

Brendon Schwartz

MVP Logo
Community Kit for SharePoint
View Brendon Schwartz's profile on LinkedIn

Matt Ranlett

Matt Ranlett MVP Logo

Community Links

Useful Links

SharePoint 2007

ASP.NET 2.0

Atlanta Area Bloggers

BizTalk

SharePoint 2007 WebControls

SharePoint 2007 Development

Using Fiddler and Excel 07 to debug web services

Random problem with a relatively innovative discovery method.

I am working with an app that sends and receives buckets of data via web services.  In one particular case, I was receiving a couple of purchase orders' worth of details and attempting to turn the XML into a DataSet.  The DataSet contains 2 tables tied by a relationship which we need later on in the app to improve performance.  Basically, the error I was getting was a duplicate key error inside of the dataset when I tried to apply the relationship.  So, how to find the problem...?

First I used Fiddler.  This nice little tool grabbed the XML being returned from the web service call and allowed me to save it as a text file.  Internet Explorer was able to see the XML with no trouble, but since there were over a hundred PO detail lines (which translates to way too many lines to try to read in IE).

Fiddler - Fiddler even captures MSN Messenger traffic             XMLResponse - XML response to web service call

Enter Excel.  Using the Export to Excel function from IE, I was able to construct a nice little table in Excel.  Then, using the easier than ever PivotTable functionality, I was able to spot the problem record in seconds...

Excel Table - Excel 2007 Table with sortable columns       Excel PivotTable - PivotTable with my answer

 

Now that I knew which order was causing the problem, it was pretty simple to execute the stored proc in the database and find out that the pricing table was messed up - resulting in 2 records returned for one of the items.  Fix the data, fix the problem.

Comments

No Comments

Leave a Comment

(required) 

(required) 

(optional)

(required)