2013-02-01 22 views
0

我有一個我試圖測試的API。該API返回關於錯誤的具體評論。如何使用Powershell查找通過API調用返回的XML錯誤?

實施例:

<errors> 
    <error>distance.out.of.range</error> 
</errors> 

當查詢在Chrome或Firefox的API,我看到這個XML。

但是,當使用IE或Powershell(WebClient和WebRequest)查詢時,我只能看到「400」異常。我無法找到向下鑽入異常的XML。

用try/catch處理異常沒有問題,但我錯過了解失敗查詢的具體細節。我怎樣才能找到XML?

回答

0

我認爲你必須從異常對象讀取流

$req = [system.Net.WebRequest]::Create($url) 
try { 
    $res = $req.GetResponse() 
} catch [System.Net.WebException] { 
    $res = $_.Exception.Response 
} 

$水庫將有一個名爲的GetResponseStream()方法,你可以用它來讀取數據。

0

嘗試將調用的輸出轉移到對象中,並查看該對象是否具有包含該錯誤的屬性。

$MyApiCall = New-WebRequest 
0

我建議你抓住Fiddler並檢查從Chrome中運行的請求,然後從PowerShell中檢查失敗的請求。這可能只是提供正確標題的問題。

相關問題