Usuário com melhor resposta
Problema com aplicação desktop usando webservice e proxy

Pergunta
-
Bom dia,
Estou com um problema. Aqui temos uma aplicação desktop para uso interno, e esta aplicação conecta-se a um webservice. Porém em um cliente onde temos uma equipe, está sendo utilizado proxy.
Então estou com problemas para rodar esta aplicação. No projeto colocamos no arquivo .settings o Proxy_user, Proxy_password e o Proxy. E passmos para a esquipe colocar seus dados no app.config e rodar. E não funcionou.
Agradeço a ajuda desde já.
public void InicializaServico()
{
metodo = new localhost.Service();
if (!string.IsNullOrEmpty(Properties.Settings.Default.Proxy))
{
System.Net.NetworkCredential Credentials = new System.Net.NetworkCredential(Properties.Settings.Default.Proxy_User, Properties.Settings.Default.Proxy_Password);
System.Net.WebProxy Proxy = new System.Net.WebProxy(Properties.Settings.Default.Proxy, 3128);
Proxy.Credentials = Credentials;
metodo.Proxy = Proxy;
}
}
Este é o print do erro:
************** Texto de Exceção **************
System.Net.WebException: Falha na solicitação com status HTTP 407: Proxy Authentication Required.
em System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
em System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
em Moleque.localhost.Service.RecuperaSenha(String login)
em Moleque.EntradaSaida.btnOK_Click(Object sender, EventArgs e)
em System.Windows.Forms.Control.OnClick(EventArgs e)
em System.Windows.Forms.Button.OnClick(EventArgs e)
em System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
em System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
em System.Windows.Forms.Control.WndProc(Message& m)
em System.Windows.Forms.ButtonBase.WndProc(Message& m)
em System.Windows.Forms.Button.WndProc(Message& m)
em System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
em System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
em System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Conjuntos de Módulos (Assemblies) Carregados **************
mscorlib
Versão do Conjunto de Módulos (Assembly): 2.0.0.0
Versão do Win32: 2.0.50727.3082 (QFE.050727-3000)
Base de Código: file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
PandorgaTools
Versão do Conjunto de Módulos (Assembly): 1.0.0.3
Versão do Win32: 1.0.0.3
Base de Código: file:///C:/Arquivos%20de%20programas/Pandorga%20Tecnologia/PaTo/PandorgaTools.exe
----------------------------------------
System.Windows.Forms
Versão do Conjunto de Módulos (Assembly): 2.0.0.0
Versão do Win32: 2.0.50727.3053 (netfxsp.050727-3000)
Base de Código: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Versão do Conjunto de Módulos (Assembly): 2.0.0.0
Versão do Win32: 2.0.50727.3053 (netfxsp.050727-3000)
Base de Código: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Versão do Conjunto de Módulos (Assembly): 2.0.0.0
Versão do Win32: 2.0.50727.3053 (netfxsp.050727-3000)
Base de Código: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
Versão do Conjunto de Módulos (Assembly): 2.0.0.0
Versão do Win32: 2.0.50727.3053 (netfxsp.050727-3000)
Base de Código: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Versão do Conjunto de Módulos (Assembly): 2.0.0.0
Versão do Win32: 2.0.50727.3082 (QFE.050727-3000)
Base de Código: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Web.Services
Versão do Conjunto de Módulos (Assembly): 2.0.0.0
Versão do Win32: 2.0.50727.3053 (netfxsp.050727-3000)
Base de Código: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Web.Services/2.0.0.0__b03f5f7f11d50a3a/System.Web.Services.dll
----------------------------------------
System.Data
Versão do Conjunto de Módulos (Assembly): 2.0.0.0
Versão do Win32: 2.0.50727.3053 (netfxsp.050727-3000)
Base de Código: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
5chtbsm7
Versão do Conjunto de Módulos (Assembly): 1.0.0.3
Versão do Win32: 2.0.50727.3053 (netfxsp.050727-3000)
Base de Código: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
Microsoft.JScript
Versão do Conjunto de Módulos (Assembly): 8.0.0.0
Versão do Win32: 8.0.50727.3053
Base de Código: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.JScript/8.0.0.0__b03f5f7f11d50a3a/Microsoft.JScript.dll
----------------------------------------
System.resources
Versão do Conjunto de Módulos (Assembly): 2.0.0.0
Versão do Win32: 2.0.50727.42 (RTM.050727-4200)
Base de Código: file:///C:/WINDOWS/assembly/GAC_MSIL/System.resources/2.0.0.0_pt-BR_b77a5c561934e089/System.resources.dll
----------------------------------------
System.Web.Services.resources
Versão do Conjunto de Módulos (Assembly): 2.0.0.0
Versão do Win32: 2.0.50727.42 (RTM.050727-4200)
Base de Código: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Web.Services.resources/2.0.0.0_pt-BR_b03f5f7f11d50a3a/System.Web.Services.resources.dll
----------------------------------------
System.Windows.Forms.resources
Versão do Conjunto de Módulos (Assembly): 2.0.0.0
Versão do Win32: 2.0.50727.42 (RTM.050727-4200)
Base de Código: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_pt-BR_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
mscorlib.resources
Versão do Conjunto de Módulos (Assembly): 2.0.0.0
Versão do Win32: 2.0.50727.3082 (QFE.050727-3000)
Base de Código: file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
************** Depuração JIT **************
Para habilitar a depuração just-in-time (JIT), o arquivo .config deste
aplicativo ou computador (machine.config) deve ter o valor
jitDebugging definido na seção system.windows.forms.
O aplicativo também deve ser compilado com a depuração
habilitada.
Por exemplo:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
Quando a depuração JIT está habilitada, qualquer exceção não tratada
será enviada ao depurador JIT registrado no computador,
em vez de ser tratada nesta caixa de diálogo.
_
Iterar é humano, a recursão é divina. Espero ter ajudado, att.
Respostas
-
Não se se vcs usam o active directory, mas é possivel configurar por la....
Ah sim... bem aqui na empresa nao tinha o usuario e senha, mas numa unidade nova tem.... e colocando na lista de excessao do proxy funciona sim, mas se o seu webservice nao esta na rede interna e sim na internet... ai nao vai ajudar mesmo...
outra possibilidade é configurar pelo registro do windows (nao lembro de cor... mas sei que da)....
Se não funciona de um jeito, tente de outro totalmente diferente ^_^- Marcado como Resposta AndreAlvesLimaModerator sexta-feira, 3 de dezembro de 2010 21:10
-
Bom dia, Varito.
A solução que encontrei foi utilizar a classe GlobalProxySelection(Contém uma instância de proxy padrão global para todas as solicitações HTTP).
Exemplo:
Classe que representa o Proxy (as configurações que ele possui).
public class ProxyCliente
{
public string Servidor { get; set; }
public int Porta { get; set; }
public string Usuario { get; set; }
public string Senha { get; set; }
public string Dominio { get; set; }
}
Informando as configurações do Proxy que serão utilizadas para qualquer solicitação HTTP.
WebProxy objWebProxy = new WebProxy(objProxyCliente.Servidor, objProxyCliente.Porta);
objWebProxy.Credentials = new NetworkCredential(objProxyCliente.Usuario, objProxyCliente.Senha, objProxyCliente.Dominio);
GlobalProxySelection.Select = objWebProxy; //Adiciona as configurações do proxy as requisições HTTP
Guilherme Pizolato (MCP) - Microsoft Certified Professional- Sugerido como Resposta Guilherme Pizolato sexta-feira, 27 de novembro de 2009 19:39
- Marcado como Resposta AndreAlvesLimaModerator sexta-feira, 3 de dezembro de 2010 21:10
-
Olá,
Veja se te ajuda -> http://support.microsoft.com/?id=318140
Abraço,
Nelson Borges - http://nelsonborgesjr.spaces.live.com/blog/- Marcado como Resposta AndreAlvesLimaModerator sexta-feira, 3 de dezembro de 2010 21:10
Todas as Respostas
-
Não testei mas ve se essa solução te ajuda
http://social.msdn.microsoft.com/Forums/pt-BR/webservicespt/thread/17001519-b868-4d1d-815a-dca6670047dd
Se não funciona de um jeito, tente de outro totalmente diferente ^_^ -
Acho que não funciona....
Pelo menos o esquema de "desviar" do proxy lá no cliente acho que não funciona, pelo que o pessoal aqui disse, não tem como deviar já que tem usuário e senha pra autenticar e tal.
Iterar é humano, a recursão é divina. Espero ter ajudado, att. -
Não se se vcs usam o active directory, mas é possivel configurar por la....
Ah sim... bem aqui na empresa nao tinha o usuario e senha, mas numa unidade nova tem.... e colocando na lista de excessao do proxy funciona sim, mas se o seu webservice nao esta na rede interna e sim na internet... ai nao vai ajudar mesmo...
outra possibilidade é configurar pelo registro do windows (nao lembro de cor... mas sei que da)....
Se não funciona de um jeito, tente de outro totalmente diferente ^_^- Marcado como Resposta AndreAlvesLimaModerator sexta-feira, 3 de dezembro de 2010 21:10
-
Bom dia, Varito.
A solução que encontrei foi utilizar a classe GlobalProxySelection(Contém uma instância de proxy padrão global para todas as solicitações HTTP).
Exemplo:
Classe que representa o Proxy (as configurações que ele possui).
public class ProxyCliente
{
public string Servidor { get; set; }
public int Porta { get; set; }
public string Usuario { get; set; }
public string Senha { get; set; }
public string Dominio { get; set; }
}
Informando as configurações do Proxy que serão utilizadas para qualquer solicitação HTTP.
WebProxy objWebProxy = new WebProxy(objProxyCliente.Servidor, objProxyCliente.Porta);
objWebProxy.Credentials = new NetworkCredential(objProxyCliente.Usuario, objProxyCliente.Senha, objProxyCliente.Dominio);
GlobalProxySelection.Select = objWebProxy; //Adiciona as configurações do proxy as requisições HTTP
Guilherme Pizolato (MCP) - Microsoft Certified Professional- Sugerido como Resposta Guilherme Pizolato sexta-feira, 27 de novembro de 2009 19:39
- Marcado como Resposta AndreAlvesLimaModerator sexta-feira, 3 de dezembro de 2010 21:10
-
Olá,
Veja se te ajuda -> http://support.microsoft.com/?id=318140
Abraço,
Nelson Borges - http://nelsonborgesjr.spaces.live.com/blog/- Marcado como Resposta AndreAlvesLimaModerator sexta-feira, 3 de dezembro de 2010 21:10