2011-09-28 11 views
3

システムで発生したエラーを含む有効なxml文字列を返すAPIを使用しています。サーバーがSystem.Net.WebExceptionで再送信したときにリモートサーバーから返されたコンテンツを取得する方法422

<?xml version="1.0" encoding="UTF-8"?> 
<error> 
    <request>Request made to server</request> 
    <message>No user found for account 12345</message> 
</error> 

xmlをリモートサーバーからSystem.Net.WebExceptionオブジェクトから取得する方法はありますか?事前に 感謝:)

MSDNのドキュメントからの直接

答えて

1

WebExceptionWebRequestクラスの子孫によってスローされ、 Responseプロパティは アプリケーションへのインターネットの応答を提供します。

したがって、応答を読み取っているときに例外が発生している場合は、XMLコンテンツを取得するためにResponseプロパティを読み取るだけで済みます。

1

確かにできます!あなたのrequest.GetResponse()の周りにtry-catchを投げるだけで、WebExceptionをキャッチし、例外のResponseプロパティから読み取る必要があります。

WebRequest request = WebRequest.Create("http://www.google.com/ohnoa404"); 
WebResponse response; 

try 
{ 
    response = request.GetResponse(); 
} 
catch (WebException ex) 
{ 
    response = ex.Response; 
} 

String responseString = String.Empty; 
using (StreamReader reader = new StreamReader(response.GetResponseStream())) 
{ 
    responseString = reader.ReadToEnd(); 
} 
+0

ありがとうございました! – user969602

+0

@ user969602これがあなたの問題を解決した場合、受け入れてください - 解決策を見つけるためにここに来る他の人を救う – Basic

関連する問題