2010-01-23 57 views
1

從web服務返回的數據的我在C#中的Web服務客戶端,其中我採取由web服務返回的對象和把它傳遞給下面的方法,以創建一個XML文件:轉儲在.NET

XmlSerializer s = new XmlSerializer(typeof(T)); 
TextWriter sw = new StreamWriter(filename); 
s.Serialize(sw, obj); 
sw.Close(); 

然而,web服務端聲稱發送字段,而生成的xml不包含這些字段(IU已在VS中完成'更新服務'...)。 有沒有辦法獲得webclient在較低級別接收的數據轉儲?

回答

3

兩個很好的選擇:

  • Wireshark - 網絡示蹤劑,基本上
  • Fiddler - 記錄了請求和響應,並顯示的東西代理很好

Wireshark是創傷小而不是Fiddler,因爲它不會改變客戶端所做的任何事情,但只要您可以說服客戶接受其證書,Fiddler就可以支持HTTPS(它實際上是一種中間人攻擊,該協議是關注的 - 但菲德勒是在中間的人)。

此外,我很確定你可以在.NET中添加SOAP過濾器等來記錄進出的內容 - 但Wireshark和Fiddler的好處是它們與你的進程是分開的,所以你可以絕對確保結果沒有被你的代碼或配置中的任何東西搞亂。

0

如果您使用HTTP傳輸,您可以使用Fiddler來獲取該轉儲。

0

如果您使用的是Visual Studio,並且您的項目中有Web引用,則可以選擇顯示所有文件,然後您將看到所有的代理類和數據源,這可能會給您一個提示,數據所具有的結構。

要查看數據本身,最好的辦法是使用一些嗅探機制,如果您直接調用服務或者可能使用一些常規的HTTP嗅探器,則我喜歡Firefox中的Firebug插件。