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

WS da Caelum Indisponível

Boa tarde à todos.

Estou testando a integração entre o Android e o serviço disponibilizado pelo link: "https://www.caelum.com.br/mobile" e estou recebendo o seguinte erro:

java.io.FileNotFoundException: https://www.caelum.com.br/mobile

Fiz o mesmo teste pelo Postman e continuo recebendo o mesmo erro.

Será que o serviço ainda está disponível?

Segue abaixo a implementação do código:

public class AlunoConverter {


    public String converteParaJSON(List<Aluno> alunos) {
        JSONStringer js = new JSONStringer();
        try {
            js.object().key("list").array().object().key("alunos").array();
            for (Aluno aluno : alunos){
                js.object();
                js.key("nome").value(aluno.getNome());
                js.key("telefone").value(aluno.getTelefone());
                js.key("endereco").value(aluno.getEndereco());
                js.key("nota").value(aluno.getNota());
                js.key("site").value(aluno.getSite());
                js.endObject();
            }
            js.endArray().endObject().endArray().endObject();
        } catch (JSONException e) {
            e.printStackTrace();
        }

        return js.toString();
    }
}

E o WebClient:

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.print(json);

            Scanner input = new Scanner(connection.getInputStream());
            String resposta = input.next();

            return resposta;
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        return null;
    }
}
2 respostas

Olá Rafael,

Fiz um teste rápido aqui pelo Postman e parece tudo ok. Você consegue postar aqui a stack trace completa do erro pra gente dar uma olhada?

Outra pergunta, você está testando isso no emulador ou em um dispositivo real? Vale a pena verificar se em qualquer uma dessas opções você consegue acessar a internet por fora do seu aplicativo.

solução!

Já encontrei o erro.

O WS da Caelum espera receber uma "key" chamada "aluno" e eu estava passando a "key" com o valor "alunos".

Obrigado!