2011-01-11 215 views
2

我正在向Web服務提交請求,但我收到一些錯誤。他們要求查看xml請求和響應的示例。我使用Visual Studio來使用Web服務,所以我只是在我的代碼中調用一個方法 - 我實際上沒有看到任何xml。獲取xml web服務請求

有沒有辦法以XML或至少一個文本字符串抓取XML請求和響應?

感謝

+0

這是一個Web引用或服務引用? – 2011-04-04 21:55:22

回答

3

最簡單的方法是使用第三方工具,如Fiddler。無論如何,你會很高興你開始使用這個工具。

+0

你以前做過嗎?我正在閱讀教程(其中大部分過時),但他們沒有幫助。 – 2011-01-11 20:26:05

0

你可以使用Fiddler

+1

雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – Matthieu 2012-08-16 17:31:52

+0

@Matthieu,夥計,這就像問,'從哪裏下載谷歌瀏覽器?`並提供一個指向`http:// google.com`的答案,並且您告訴我要提供更多描述?來吧,是認真的。 – 2012-08-16 17:35:41

0

我不得不調試一下最近發生的事情,wireshark和fiddler等工具是調試請求和響應的很好工具,除非您使用的是HTTPS,或者您正在本地計算機上調試並執行客戶端和Web本地服務。

我發現了一種方法,可以讓您查看請求和響應的細節,而無需修改代碼的單行。

.NET有一個內置的被稱爲跟蹤的功能。通過啓用System.NET命名空間的跟蹤,您可以捕獲所有內容。

以下是啓用的步驟。

將以下代碼添加到您的客戶端應用程序的app.config中。現在

<system.diagnostics> 
<trace autoflush="true" /> 
<sources> 
    <source name="System.Net"> 
     <listeners> 
      <add name="System.Net"/> 
     </listeners> 
    </source> 
</sources> 
<sharedListeners> 
    <add name="System.Net" 
     type="System.Diagnostics.TextWriterTraceListener" 
     initializeData="System.Net.trace.log" /> 
</sharedListeners> 
<switches> 
    <add name="System.Net" value="Verbose" /> 
</switches> 
</system.diagnostics> 

,當你執行你的客戶端應用程序,你可以進入你的可執行文件從運行文件夾,找到該文件System.Net.trace.log

你會再找到日誌文件的請求和服務器響應。關於這個解決方案的好處是你不必安裝或運行任何額外的東西。然而,解決方案可能只是在測試或舞臺環境中開發或診斷某些東西而不是生產的解決方案。不過,我假設你是因爲你提到了在Visual Studio中創建解決方案,並且它不工作,因此你很清楚正處於開發階段。