Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Teste Básico com Proxy

Boa noite, Aqui na empresa usamos um proxy. Eu uso o digestaps para emular esse proxy e aí acesso tudo com localhost:5865. No entanto, o código do primeiro teste do curso sempre está dando

javax.ws.rs.ProcessingException: java.net.ConnectException: Connection timed out: connect

O código é:

package br.com.alura.loja;

import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;

import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.client.ClientProperties;
import org.junit.Test;

import junit.framework.Assert;

public class ClienteTest {

    @Test
    public void testaQueAConexaoFunciona() {

        ClientConfig config = new ClientConfig();
        config.property(ClientProperties.PROXY_URI, "http://localhost:5865");

        Client client = ClientBuilder.newClient(config);
        WebTarget target = client.target("https://www.mocky.io");
        String conteudo = target.path("/v2/52aaf5deee7ba8c70329fb7d").request().get(String.class);
        Assert.assertTrue(conteudo.contains("<rua>Rua Vergueiro 3185"));

    }
}

Grato,

3 respostas

Connection timed out geralmente ocorre quando:

a) há algum tipo de firewall no caminho que simplesmente come os pacotes sem dizer ao remetente coisas como "No Route to host"

b) perda de pacotes devido a configuração incorreta da rede ou sobrecarga de linha

c) muitos pedidos sobrecarregando o servidor

d) um pequeno número de threads / processos disponíveis simultaneamente no servidor, o que faz com que todos sejam executados. Isso acontece especialmente com solicitações que demoram muito para serem executadas e podem ser combinadas com c)

No geral está mais atrelado a infra do que ao código

Pelo que pesquisei é algum problema com o proxy. As configurações que estou vendo na Internet e testando não estão funcionando. Sem resolver isso, não tenho como fazer o curso.

solução!
package br.com.alura.loja;

import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;

import org.junit.Test;

import junit.framework.Assert;

public class ClienteTest {

    @Test
    public void testaQueAConexaoFunciona() {

        System.setProperty("proxySet", "true");
        System.setProperty("http.proxyHost", "localhost");
        System.setProperty("http.proxyPort", "5865");

        Client client = ClientBuilder.newClient();
        WebTarget target = client.target("http://www.mocky.io");
        String conteudo = target.path("/v2/52aaf5deee7ba8c70329fb7d").request().get(String.class);
        Assert.assertTrue(conteudo.contains("<rua>Rua Vergueiro 3185"));

    }
}

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software