Usuário com melhor resposta
Serviço WCF rodando em ambiente interno com proxy de internet

Pergunta
-
Pessoal.
Estou iniciando os trabalhos utilizando WCF para fazer comunicação com um web service https, com certificado digital.
Mas aqui no ambiente da empresa, utilizamos um proxy (servidor interno) pra acesso a web.
Alguem pode me indicar como passar estas credenciais utilizando WCF.
Quando eu utilizava referencias a web service, eu setava o proxy assim:
System.Net.WebProxy webProxy = new System.Net.WebProxy(servidorProxy + ":" + portaProxy, true);
// Configurando autenticação
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(loginProxy, senhaProxy);
webProxy.Credentials = credentials;
WS.Proxy = webProxy;
Como passar estes dados no WCF? Obs: Quando utilizamos certificado digital.
Obrigado. Bom trabalho a todos.
Respostas
-
Boas Jose,
Tente definindo a propriedade UseDefaultWebProxy para false:
BasicHttpBinding b = new BasicHttpBinding();
b.ProxyAddress = new Uri("teuEnderecoDeProxy");
b.UseDefaultWebProxy = false;
http://www.israelaece.com- Marcado como Resposta Jose Geraldo quinta-feira, 3 de dezembro de 2009 12:13
Todas as Respostas
-
Boas José Geraldo,
A configuração do proxy é parte do binding:
BasicHttpBinding b = new BasicHttpBinding();
b.ProxyAddress = new Uri("teuEnderecoDeProxy");
http://www.israelaece.com -
Israel. Continuo com problemas. Vou tentar expor mais claramente o que ocorre:
Estamos nos conectando à um site "https:" que exige certificado digital. O certificado é passao nas credenciais assim:
WSNFSe.ClientCredentials.ClientCertificate.Certificate = certX509;
Eu criei a interface com o contrato, app config configurado e etc.
Ao executar o codigo utilizando o cliente do WCF, ocorre o erro:
InnerException = The remote server returned an error: (407) Proxy Authentication Required.
Message = There was no endpoint listening at https://bhissdigital.pbh.gov.br/bhiss-ws/nfse that could accept the message.
This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.Fiz algumas pesquisas no msdn mesmo vi a sugestão abaixo:
The WCF client seems to use the proxy settings from IE.
To solve this, I simply turned the proxy off in IE as below.
IE > Tools > Internet Options > Connections > LAN SettingsUncheck the box that reads "Use a proxy server"...
REALMENTE: Apos desmarcar, eu consegui me conectar e obter os dados do web service
Será que não tem outra forma, via código de resolver isso?
obrigado.
bom trabalho a todos.
- Editado Jose Geraldo quinta-feira, 3 de dezembro de 2009 11:42 Fonte estranha
-
Boas Jose,
Tente definindo a propriedade UseDefaultWebProxy para false:
BasicHttpBinding b = new BasicHttpBinding();
b.ProxyAddress = new Uri("teuEnderecoDeProxy");
b.UseDefaultWebProxy = false;
http://www.israelaece.com- Marcado como Resposta Jose Geraldo quinta-feira, 3 de dezembro de 2009 12:13
-