私は C# を使用しており、自動生成された C# プロキシ オブジェクトを介して WebService に接続しています。私が呼び出しているメソッドは長時間実行される可能性があり、タイムアウトすることもあります。さまざまなエラーが返されSystem.Net.WebException
ますSystem.Web.Services.Protocols.SoapException
。これらの例外には、ユーザーに分かりやすいバージョンを表示できる特定の種類のエラーを見つけるために問い合わせることができるプロパティがあります。
しかし、時々InvalidOperationException
、次のメッセージが表示されることがあります。私が認識している文字列を掘り下げずに、これが何であるかを解釈できる方法はありますか?それは非常に汚いと感じ、国際化にとらわれません.エラーメッセージは別の言語で返される可能性があります.
Client found response content type of 'text/html; charset=utf-8', but expected 'text/xml'.
The request failed with the error message:
--
<html>
<head>
<title>Request timed out.</title>
<style>
body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;}
p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px}
b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px}
H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
pre {font-family:"Lucida Console";font-size: .9em}
.marker {font-weight: bold; color: black;text-decoration: none;}
.version {color: gray;}
.error {margin-bottom: 10px;}
.expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; }
</style>
</head>
<body bgcolor="white">
<span><H1>Server Error in '/PerformanceManager' Application.<hr width=100% size=1 color=silver></H1>
<h2> <i>Request timed out.</i> </h2></span>
<font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif ">
<b> Description: </b>An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
<br><br>
<b> Exception Details: </b>System.Web.HttpException: Request timed out.<br><br>
<b>Source Error:</b> <br><br>
<table width=100% bgcolor="#ffffcc">
<tr>
<td>
<code>
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.</code>
</td>
</tr>
</table>
<br>
<b>Stack Trace:</b> <br><br>
<table width=100% bgcolor="#ffffcc">
<tr>
<td>
<code><pre>
[HttpException (0x80004005): Request timed out.]
</pre></code>
</td>
</tr>
</table>
<br>
<hr width=100% size=1 color=silver>
<b>Version Information:</b> Microsoft .NET Framework Version:2.0.50727.312; ASP.NET Version:2.0.50727.833
</font>
</body>
</html>
<!--
[HttpException]: Request timed out.
-->
--.
編集:Webサーバーのメソッドにtry-catchがあります。私はそれをデバッグしましたが、web-server メソッドは (1 分ほどで) 例外なく戻ります。また、Web サービスに未処理の例外ハンドラーを追加しましたが、ブレークポイントはヒットしませんでした。Web サービスが返されるとすぐに、期待した結果ではなく、クライアントでこのエラーが発生します。