Como pode o erro 'Cliente encontrou o tipo de conteúdo de resposta' text / html '.. ser interpretado

Eu estou usando c # e conectando a um WebService através de um objeto proxy C # gerado automaticamente. O método que estou chamando pode ser longo, e às vezes expira. Eu recebo erros diferentes de volta, às vezes eu recebo umSystem.Net.WebException ou umSystem.Web.Services.Protocols.SoapException. Essas exceções têm propriedades que eu posso consultar para encontrar o tipo específico de erro do qual eu posso exibir uma versão amigável para o usuário.

Mas às vezes eu só pego umInvalidOperationExceptione tem a seguinte mensagem. Existe alguma maneira que eu possa interpretar o que é isso sem cavar através da cadeia de coisas que eu reconheço, que se sente muito sujo e não é agnóstico de internacionalização, a mensagem de erro pode voltar em um idioma diferente.

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.
-->
--.

Edit: Eu tenho um try-catch em torno do método no servidor web. Depurei-o e o método do servidor da web retorna (após um minuto ou mais) sem qualquer exceção. Eu também adicionei um manipulador de exceção não tratada no serviço da Web e um ponto de interrupção não foi atingido. Assim que o serviço da web retorna, recebo esse erro no cliente em vez do resultado esperado.

questionAnswers(9)

yourAnswerToTheQuestion