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

webservice fora do ar

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

Está fora do ar?

11 respostas

Oi Marcus, tudo bom?

Essa URL realmente está retornando 500. Vou repassar isso pra equipe e te retornamos aqui.

Obrigado pelo feedback =)

OK obrigado, Falta só esse módulo para finalizar este curso.

Abs

Oi Marcus, dei uma verificada aqui com a equipe eles testaram e o webservice está funcionando.

O problema é que dependendo de como você fizer a requisição ele retorna 500. Você poderia compartilhar com a gente seu código? Assim a gente pode te ajudar melhor =)

Aguardo retorno.

Eu rodei aqui aquela consulta das médias e a Webservice está funcionando normalmente. Realmente se houver algum erro na hora de passar a requisição post ou no json obtemos um erro no próprio Toast. Posta o código caso não consiga.

Oi André, segue o código:

public class EnviaAlunosTask extends AsyncTask {
    private Context context;
    private ProgressDialog dialog;

    public EnviaAlunosTask(Context context) {
        this.context = context;
    }

    @Override
    protected void onPreExecute() {
        //super.onPreExecute();
        dialog = ProgressDialog.show(context,"Aguarde","Enviando alunos", true, true);
    }

    @Override
    protected Object doInBackground(Object[] params) {
        AlunoDAO dao = new AlunoDAO(context);
        List<Aluno> alunos = dao.buscaAlunos();
        dao.close();
        AlunoConverter conversor = new AlunoConverter();
        String json = conversor.converteParaJson(alunos);

        WebClient client = new WebClient();
        String resposta = client.post(json);
        //resposta = json;
        //Toast.makeText(context, resposta, Toast.LENGTH_SHORT).show();
        return resposta;
    }

    @Override
    protected void onPostExecute(Object o) {
        //super.onPostExecute(o);
        Toast.makeText(context, (String) o, Toast.LENGTH_LONG).show();
        dialog.dismiss();
    }
}

Oi Marcus, eu dei uma editada no seu código para facilitar a leitura, ao enviar código aqui no fórum clique em <>INSERIR CÓDIGO e põe ele entre o espaço indicado pra ele aparecer legível como acima, senão fica só um monte de texto tudo junto.

Bom vamos lá, tentando te ajudar gostaria que você postasse aqui de antemão a sua classe AlunoConverter e também a stacktrace de Erro que você tá recebendo ao tentar acessar o Webservice.

Passei essa string para testar se o json estava errado:

String json = "{\"List\":[{\"aluno\":[{\"id\":\"1\",\"nome\":\"1\",\"endereco\":\"1\",\"telefone\":\"1\",\"site\":\"1\",\"nota\":\"10\"},{\"id\":\"1\",\"nome\":\"1\",\"endereco\":\"1\",\"telefone\":\"1\",\"site\":\"1\",\"nota\":\"7\"}]}]}";

Hum E qual foi o resultado ? Oi Marcus acredito que a questão esteja na sua classe AlunoConverter, posta ela aí, pra verificarmos.

Ola, desculpe a demora!!!

package br.com.m1web.agenda.converter;

import org.json.JSONException; import org.json.JSONStringer;

import java.util.List;

import br.com.m1web.agenda.modelo.Aluno;

/* Created by MarcusVinicius on 04/01/2017. */

public class AlunoConverter {
    public String converteParaJson(List<Aluno> alunos) {

        JSONStringer js = new JSONStringer();
        try {
            js.object().key("List").array().object().key("aluno").array();
            for (Aluno aluno : alunos) {
                js.object();
                js.key("nome").value(aluno.getNome());
                js.key("nota").value(aluno.getNota());
                js.endObject();
            }
            js.endArray().endObject().endArray().endObject();
        } catch (JSONException e) {
            e.printStackTrace();
        }

        return js.toString();
    }
}
solução!

Bom dia Marcus, altere a chave de List para list. Depois dê CTRL + F9 (Make Project) e Reinicie a aplicação no emulador e nos informe.

Oi Maison, era isso mesmo!!!!

Obrigado pela ajuda!!!!!!!!!!

ABs