WCF services e HTTP 407 Proxy Authentication Required

Você desenvolve seu serviço WCF e o expõe na web. De repente, vc tenta acessá-lo de dentro da sua empresa, a qual está fortemente solidificada atrás de um Proxy e recebe:

HTTP 407 Proxy Authentication Required

O que está acontecendo?
Sua aplicação Cliente não possui as informações de conhecimento e credenciamento do proxy, para poder “sair” para Web e assim atingir seu Serviço.

E como proceder para que meu Cliente possa “sair”?
Devemos configurar 2 rotinas:

1) WebProxy

WebProxy proxy = new WebProxy(“http://IP_Proxy:porta”)
{
Credentials = new NetworkCredential(“user”, “pass”)
};
WebRequest.DefaultWebProxy = proxy;

Desta forma, estamos setando o proxy para nossa aplicação cliente entender e conhecer como utilizar o Proxy,  para sair para Web.

2) Expect 100 Continue

No app.config da sua aplicação adicione:
<system.net>
<settings>
<servicePointManager expect100Continue=”false”/>
</settings>
</system.net>

Esta configuração deve ser declarada para que não seja adicionado um header “Expect:100-continue” nas requisições HTTP. Evitando-se assim a seguinte mensagem:

“The remote server returned an unexpected response: (417) Expectation failed”

Referência:
http://www.israelaece.com/post/Expect100Continue-em-servicos-WCF.aspx

Feito isso, provavelmente não terás mais problemas com autenticação do Proxy nos clientes WCF. É isso!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s