quarta-feira, 30 de outubro de 2013

Erro 417 : Expectation Failed – Como resolver?



















As vezes, quando acessamos alguns servidores utilizando o .NET, recebemos esse erro : Expectation Failed.

Tenho percebido que esse erro ocorre principalmente no acesso a internet através de servidores de proxy, porém já vi acontecer em outras situações.

O que esse erro significa?

O Framework (.NET) faz o envio de dados para os servidores em duas etapas distintas, implementando um padrão existente no HTTP 1.1. Primeiro envia apenas os headers (cabeçalhos) para o servidor, esperando que o servidor responda se ele suporta ou não essa requisição, em seguida, caso haja uma resposta positiva do servidor, envia os dados, caso contrário o erro “Expectation Failed” é exibido (no caso a resposta negativa do servidor).

Podemos resolver isso de uma forma bem simples, basta desativar o envio em duas etapas através de uma configuração no Web.Config, conforme abaixo:

<system.net>
   <settings>
      <servicePointManager expect100Continue="false" />
   </settings>
</system.net>

Um comentário: