Autenticação Proxy SOCORRO  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
ferlindo7
HelloWorld

Membro desde: 29/03/2011 06:01:33
Mensagens: 11
Offline

Pessoal estou apanhando que nem cachorro para tentar fazer meu programinha em java se autenticar no proxy e assim conseguir usar um web service externo
Consigo apensar usar web services como localhost. Quando tento acessar algum de fora me vem esse erro 407 proxy authentication required
Estou tentando fazer dessa forma

System.setProperty("http.proxyHost", "proxy.teste.com.br");
System.setProperty("http.proxyPort", "8080");
System.setProperty("http.proxyUser", "DOMINIO\meuUsuario");
System.setProperty("http.proxyPassword", "minhaSenha");


Também tentei fazer assim:

Properties props = new Properties(System.getProperties());
props.put("http.proxySet", "true");
props.put("http.proxyHost", "proxy.teste.com.br");
props.put("http.proxyPort", "8080");
props.put("http.proxyUser", "DOMINIO\meuUsuario");
props.put("http.proxyPassword", "minhaSenha");
Properties newprops = new Properties(props);
System.setProperties(newprops);



Mas continuo recebendo a mensagem de erro. 407 proxy authentication required
Os dados de usuário e senha estão corretos pois são os que estou usando para navegar nesse momento.

Alguém poderia me indicar o caminho das pedras e me dizer o que estou fazendo de errado?
ferlindo7
HelloWorld

Membro desde: 29/03/2011 06:01:33
Mensagens: 11
Offline

Ninguém sabe????? Estou a horas tentando
jamirdeajr
JavaGuru
[Avatar]

Membro desde: 11/04/2009 18:35:22
Mensagens: 211
Localização: Curitiba
Offline

Bom, não sei dizer se funciona para o seu caso, mas ai vai um exemplo que encontrei que codifica usuário e senha
robertoMoraes
Debugger
[Avatar]

Membro desde: 09/07/2010 15:49:07
Mensagens: 69
Offline

Talvez ajude

http://www.guj.com.br/java/31440-como-ler-o-codigo-fonte-de-uma-url-especifica-resolvido

http://blog.vinodsingh.com/2008/05/proxy-authentication-in-java.html

se ajudei agradeça assim vou saber que não falei bobagem.

se falei bobagem me corrija.
[MSN]
ferlindo7
HelloWorld

Membro desde: 29/03/2011 06:01:33
Mensagens: 11
Offline

Amigos, Eu realmente não sei o que acontece.
Fiz o seguinte teste

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress( "proxy.com.br));
URL url = new URL("www.uol.com.br");
HttpURLConnection uc = (HttpURLConnection) url.openConnection(proxy);
uc.connect();

StringBuffer page = new StringBuffer("");

BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()));
while ((line = in.readLine()) != null)
{
page.append(line + "\n");
}
System.out.println(page);


Consegui me conectar normalmente e baixar o conteudo da pagina.

Mas se tento acessar o web service me da o erro 407 proxy authentication required

Estou chamando o web Service assim.


ServiceFactory factory = ServiceFactory.newInstance();
// define qnames
String targetNamespace = "http://tempuri.org/";
QName serviceName = new QName(targetNamespace, "Service1");
QName portName = new QName(targetNamespace, "Service1Soap");
QName operationName = new QName("Service1", "HelloWorld");
URL wsdlLocation = new URL ("http://192.168.0.1/WSTeste/Service1.asmx?wsdl");
// create service
Service service = (Service) factory.createService(wsdlLocation, serviceName);
// create call
Call call = (Call) service.createCall(portName, operationName);

// invoke the remote web service
String result = (String) call.invoke(new Object[] {"teste teste teste teste"});

System.out.println(result);



(Ta tudo ok com o Web Service pois ele funciona se eu substituir
http://192.168.0.1/WSTeste/Service1.asmx?wsdl

por
http://localhost/WSTeste/Service1.asmx?wsdl

Falta alguma coisa pra fazer a bendita autenticação? Será que estou chamando da maneira errada? Estou perdido!!!!
thundercas
JavaEvangelist
[Avatar]

Membro desde: 15/09/2007 11:04:51
Mensagens: 429
Localização: São Paulo - SP
Offline

Talvez o webservice que você está tentando acessar está requerendo um tipo específico de autenticação. Acho melhor dar uma analisada nas configurações do webservice e ver qual autenticação está sendo requerida.

Cassiano Colombo de Oliveira Gil
Analista Programador Junior
São Paulo - SP
E-mail: cassi_ano@hotmail.com
Twiter: http://twitter.com/thundercas
[Email] [MSN]
ferlindo7
HelloWorld

Membro desde: 29/03/2011 06:01:33
Mensagens: 11
Offline

thundercas nao tem nenhuma autenticação em especial
Eu criei esse web service aqui na minha maquina só pra teste mesmo.
Qualquer web service que eu tente consumir me da o erro de autenticação do proxy
jamirdeajr
JavaGuru
[Avatar]

Membro desde: 11/04/2009 18:35:22
Mensagens: 211
Localização: Curitiba
Offline

Não tinha entendido que você tinha criado o Webservice local e estava querendo acessar via proxy público, neste caso você não teria que utilizar o seu IP externo e não o IP local (192.168.x.x) ?
Você fez assim o teste?
ferlindo7
HelloWorld

Membro desde: 29/03/2011 06:01:33
Mensagens: 11
Offline

jamirdeajr tanto faz o IP que eu tente acessar de qualquer forma ele pede a autenticação seja um web service interno ou externo "por exemplo dos correios" ele só não pede a autenticação se eu coloca-lo como localhost http://localhost/WSTeste/Service1.asmx?wsdl
Se eu substituir o localhost pelo IP da minha maquina ele pede a autenticação de proxy
já estou desanimado e quase desistindo
ferlindo7
HelloWorld

Membro desde: 29/03/2011 06:01:33
Mensagens: 11
Offline

Ah Se eu jogar esse web service no meu browser http://192.168.0.1/WSTeste/Service1.asmx?wsdl
ele acessa normalmente
jamirdeajr
JavaGuru
[Avatar]

Membro desde: 11/04/2009 18:35:22
Mensagens: 211
Localização: Curitiba
Offline

Nos seus testes você está usando JAX-RPC?
Se sim dê uma olhada aqui:
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/twbs_configwbsclient2webproxy.html
ferlindo7
HelloWorld

Membro desde: 29/03/2011 06:01:33
Mensagens: 11
Offline

não consegui
Ele da a Exception pedindo a autenticação de proxy quando chega nessa linha

String result = (String) call.invoke(new Object[] {"teste teste teste teste"});

This message was edited 1 time. Last update was at 08/04/2011 09:05:20

jamirdeajr
JavaGuru
[Avatar]

Membro desde: 11/04/2009 18:35:22
Mensagens: 211
Localização: Curitiba
Offline

No exemplo do link ele faz assim, como você deve ter visto, numa ordem um pouco diferente da tua:

Posta o código ai pra gente ver, se possível com as tags 'code' pra ficar legível. No exemplo deles era 'StockQuote' a classe de retorno (eu acho), não sei qual o seu mas é nele que tem que setar o usuário e senha do proxy pois ele precisa ser enviado direto na requisição e não na conexão (pelo que entendi.. falam em senha setada no 'stub')


ferlindo7
HelloWorld

Membro desde: 29/03/2011 06:01:33
Mensagens: 11
Offline

Galera muito obrigado pela ajuda de todos
Depois de quase uma semana tentando finalmente desisti de fazer essa coisa funciona.
Resolvi usar uma conexao com o Banco de dados para recuperar e mandar as informações que precisava
Acredito que seja um problema da rede da minha empresa mesmo e depois de levar essa canseira que levei acabei optando pela solução do banco.
Mais uma vez muito obrigado a todos que tentaram me ajudar
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team