2
respostas

Connection timed out no webservice de calcular prazos dos correios

Estou terminando o curso: "JAX-WS : Domine a criação de webservices SOAP JAX-WS : Domine a criação de webservices SOAP".

No final há uma atividade onde implementamos um client para o webservice de cálculo de prazos dos Correios. Sempre dá: "Caused by: java.net.ConnectException: Connection timed out"

Há alguma maneira de contornar isso?

2 respostas

Como está sua implementação do web service?

Está como o exercício

package br.com.caelum.correios.soap;

import java.math.BigDecimal;
import java.util.List;

public class TesteClienteCorreios {

    public static void main(String[] args) {
        CalcPrecoPrazoWSSoap cliente = new CalcPrecoPrazoWS().getCalcPrecoPrazoWSSoap();

        String codigoSedex = "40010";
        String cepOrigemCaelumSP = "04101300"; //Caelum SP
        String cepDestino = "20040030"; // Caelum RJ
        String peso3kg = "3";
        BigDecimal comprimento20cm = new BigDecimal(20);
        BigDecimal altura10cm = new BigDecimal(10);
        BigDecimal largura15cm = new BigDecimal(15);
        BigDecimal diametro10cm = new BigDecimal(10);
        int formatoEncomendaCaixa = 1; // 1 é caixa ou pacote
        BigDecimal semValorDeclarado= BigDecimal.ZERO;
        String semEntregueEmMaos = "N";
        String semAvisoRecebimento = "N";
        String semCodigoEmpresa = "";
        String semSenhaEmpresa = "";

        //fazendo a chamada do serviço
        CResultado resultado = cliente.calcPrecoPrazo(
                        semCodigoEmpresa, semSenhaEmpresa, 
                        codigoSedex, cepOrigemCaelumSP, cepDestino, 
                        peso3kg, formatoEncomendaCaixa, 
                        comprimento20cm, altura10cm, largura15cm, diametro10cm, 
                        semEntregueEmMaos, semValorDeclarado, semAvisoRecebimento);

        //recuperando o resultado
        List<CServico> servicosPesquisados = resultado.getServicos().getCServico();
        String valorFrete = servicosPesquisados.get(0).getValor();

        System.out.printf("Frete para %s eh de %s %n", cepDestino, valorFrete);

    }

    public TesteClienteCorreios() {

    }

}