Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

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