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

Endpoint indisponível

Bom dia.

O endpoint de vocês precisa de autenticação?

https://www.caelum.com.br/mobile

Tentei me conectar utilizando outros clientes (SOAPUi e Postman do Chrome). Parecia ser problema de proxy, mas coloquei o 4G e o erro 500 continua.

Meu WebClient é o mesmo do curso. Como não funcionou no passo-a-passo, baixei a aula 5. O comentário da classe é "Created by renan on 20/01/16." Vi no debug que está parando nessa linha:

PrintStream output = new PrintStream(connection.getOutputStream());

Atenciosamente, Rodrigo Martins

3 respostas

Oi Rodrigo, não precisa de autenticação. Pode passar aqui exatamente a requisição que você ta fazendo?

Olá Alberto. O código é o mesmo que a Alura disponibiliza no fim do módulo. Baixei a versão que vocês disponibilizam para me certificar de que não estava cometendo erros, mas segue o código que faz a requisição:

public class WebClient {
    public String post(String json) {
        try {
            URL url = new URL("https://www.caelum.com.br/mobile");
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestProperty("Content-type", "application/json");
            connection.setRequestProperty("Accept", "application/json");

            connection.setDoOutput(true);

            PrintStream output = new PrintStream(connection.getOutputStream());
            output.println(json);

            connection.connect();

            Scanner scanner = new Scanner(connection.getInputStream());
            String resposta = scanner.next();
            return resposta;
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}

A execução pára na linha abaixo e fica aguardando resposta do web service:

PrintStream output = new     PrintStream(connection.getOutputStream());
solução!

Agora está funcionando normalmente tanto no simulador quanto no apk instalado no aparelho. Não alterei código nem regras de firewall.