错误如何“客户端发现响应内容类型为'text / html的'..解释 [英] How can the error 'Client found response content type of 'text/html'.. be interpreted

查看:352
本文介绍了错误如何“客户端发现响应内容类型为'text / html的'..解释的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用C#,并通过自动生成的C#代理对象连接到一个WebService。我打电话的方法,可长时间运行,有时超时。我得到不同的错误回来,有时我得到一个 System.Net.WebException System.Web.Services.Protocols.SoapException 。这些异常有属性我可以查询找到特定类型的错误,从中我可以显示给用户带来了人性化的版本。

I'm using C# and connecting to a WebService via an auto-generated C# proxy object. The method I'm calling can be long running, and sometimes times out. I get different errors back, sometimes I get a System.Net.WebException or a System.Web.Services.Protocols.SoapException. These exceptions have properties I can interrogate to find the specific type of error from which I can display a human-friendly version of to the user.

但有时我只是得到一个出现InvalidOperationException ,它有以下消息。有什么办法,我可以理解,这是不通过字符串事我承认,那种感觉很肮脏挖什么,不是不可知的国际化,错误信息可能回来用不同的语言。

But sometimes I just get an InvalidOperationException, and it has the following Message. Is there any way I can interpret what this is without digging through the string for things I recognize, that feels very dirty, and isn't internationalization agnostic, the error message might come back in a different language.

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服务器方法返回(后一分钟左右),没有任何异常。我还添加了在Web服务未处理的异常处理程序和一个断点有没有被击中。一旦Web服务的回报,我得到这个错误在客户端,而不是结果,我的预期。

I have a try-catch around the method on the web-server. I have debugged it, and the web-server method returns (after a minute or so) without any exception. I also added an unhandled exception handler in the web service and a breakpoint there wasn't hit. As soon as the web-service returns, I get this error in the client instead of the result I expected.

推荐答案

这是发生的事情,因为在你的Web服务未处理的异常,以及.NET运行时吐出死亡的服务器错误/异常转储页它的HTML黄屏,而不是XML。

This is happening because there is an unhandled exception in your Web service, and the .NET runtime is spitting out its HTML yellow screen of death server error/exception dump page, instead of XML.

由于Web服务的消费者期待文本/ XML头,而是得到了文本/ HTML,它抛出这个错误。

Since the consumer of your Web service was expecting a text/xml header and instead got text/html, it throws that error.

您应该解决您事业超时(可能是一个漫长的SQL查询?)。

You should address the cause of your timeouts (perhaps a lengthy SQL query?).

此外,结账的上,解释实施全球未处理的异常处理程序,并使用SOAP例外杰夫阿特伍德的博客这个博客帖子

这篇关于错误如何“客户端发现响应内容类型为'text / html的'..解释的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆