Autore Topic: Problema parsing JSON in ciò che si riceve dal server  (Letto 2074 volte)

Offline aledpa

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
Problema parsing JSON in ciò che si riceve dal server
« il: 19 Dicembre 2013, 19:02:21 CET »
0
Salve a tutti,
sto tentando di fare una activity che faccia il login degli utenti collegandosi ad un server dal quale riceve una risposta in json ma mi da una eccezione json; questo è il codice:

Codice (Java): [Seleziona]
public class UserLoginTask extends AsyncTask<Void, Void, Boolean> {
                @Override
                protected Boolean doInBackground(Void... params) {
                        // TODO: attempt authentication against a network service.
                        String result = "";
                        String URL = "http://192.168.1.64:8080/RestfulWebServiceProject/RestfulServlet";
                        String deviceId = "111";
                        HttpClient httpclient = new DefaultHttpClient();
                        String url = URL;
                        String azione = "L";
                        url = URL + "?azione=" + azione;
                        String u = mEmail;
                        String p = mPassword;
                        if (u != null && !u.trim().equals("") && p != null && !p.trim().equals(""))
                                url = URL + "?user=" + u + "&pass=" + p;
                       
                        HttpGet request = new HttpGet(url);
                        request.addHeader("deviceId", deviceId);
                        ResponseHandler<String> handler = new BasicResponseHandler();
                        try {
                                // network access.
                        //      Thread.sleep(2000);
                                result = httpclient.execute(request, handler);
                                httpclient.getConnectionManager().shutdown();
                                System.out.println("111111111111"); ///////////////////////fino a qua è ok
                                JSONArray ja = new JSONArray(result.toString());        // mi prendo ciò che arriva dal server
                        //      JSONObject risultato = new JSONObject(result);
                                System.out.println("22222222222"); ////////////////////////////////////////
                                for (int i = 0; i < ja.length(); i++) {
                                        JSONObject jo = (JSONObject) ja.get(i);
                                        String risultato = jo.getString("risposta");
                                        System.out.println("La risposta e': " + risultato);
                                }      
                        }
                        catch (Exception e) {
                                // TODO Auto-generated catch block
                                System.out.println("Eccezione"); ////////////////////////////////////////
                                e.printStackTrace();
                        }

                        // TODO: register the new account here.
                        return true;
                       
                }

                @Override
                protected void onPostExecute(final Boolean success) {
                        mAuthTask = null;
                        showProgress(false);
                        // Se il task prima ha ritornato true, allora termina (SUCCESSO)
                        if (success) {
                                finish();
                        } else {
                                mPasswordView.setError(getString(R.string.error_incorrect_password));
                                mPasswordView.requestFocus();
                        }
                }

                @Override
                protected void onCancelled() {
                        mAuthTask = null;
                        showProgress(false);
                }
}

questa classe si trova dentro una activity LoginActivity.java e tutto ciò che comporta il login funziona, il problema si ha subito dopo dove faccio stampare 111111 (giusto per sapere fin dove arriva)

il logcat è questo:

Codice (Java): [Seleziona]
12-19 18:57:19.250: I/Choreographer(9852): Skipped 35 frames!  The application may be doing too much work on its main thread.
12-19 18:57:20.720: I/Choreographer(9852): Skipped 145 frames!  The application may be doing too much work on its main thread.
12-19 18:57:23.460: I/Choreographer(9852): Skipped 162 frames!  The application may be doing too much work on its main thread.
12-19 18:57:30.190: I/Choreographer(9852): Skipped 33 frames!  The application may be doing too much work on its main thread.
12-19 18:57:31.090: I/Choreographer(9852): Skipped 90 frames!  The application may be doing too much work on its main thread.
12-19 18:57:46.570: D/dalvikvm(9852): GC_FOR_ALLOC freed 413K, 8% free 5804K/6292K, paused 480ms, total 480ms
12-19 18:57:47.700: I/System.out(9852): 111111111111
12-19 18:57:47.700: I/System.out(9852): Eccezione
12-19 18:57:47.700: W/System.err(9852): org.json.JSONException: Value org.apache.http.message.BasicHttpResponse@b208afd8 of type java.lang.String cannot be converted to JSONArray
12-19 18:57:48.220: W/System.err(9852):         at org.json.JSON.typeMismatch(JSON.java:111)
12-19 18:57:48.220: W/System.err(9852):         at org.json.JSONArray.<init>(JSONArray.java:96)
12-19 18:57:48.220: W/System.err(9852):         at org.json.JSONArray.<init>(JSONArray.java:108)
12-19 18:57:48.270: W/System.err(9852):         at it.appcalcioitalia.applicazioneclient.LoginActivity$UserLoginTask.doInBackground(LoginActivity.java:235)
12-19 18:57:48.270: W/System.err(9852):         at it.appcalcioitalia.applicazioneclient.LoginActivity$UserLoginTask.doInBackground(LoginActivity.java:1)
12-19 18:57:48.270: W/System.err(9852):         at android.os.AsyncTask$2.call(AsyncTask.java:288)
12-19 18:57:48.270: W/System.err(9852):         at java.util.concurrent.FutureTask.run(FutureTask.java:237)
12-19 18:57:48.840: W/System.err(9852):         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
12-19 18:57:48.840: W/System.err(9852):         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
12-19 18:57:48.840: W/System.err(9852):         at java.lang.Thread.run(Thread.java:841)
12-19 18:57:49.180: I/Choreographer(9852): Skipped 30 frames!  The application may be doing too much work on its main thread.
12-19 18:57:49.580: I/Choreographer(9852): Skipped 38 frames!  The application may be doing too much work on its main thread.
12-19 18:57:51.270: I/Choreographer(9852): Skipped 106 frames!  The application may be doing too much work on its main thread.

qualche indicazione?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problema parsing JSON in ciò che si riceve dal server
« Risposta #1 il: 19 Dicembre 2013, 19:22:06 CET »
0
Sembra che tu debba mettere la risposta del server in un object e non in un array (json)
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline aledpa

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
Re:Problema parsing JSON in ciò che si riceve dal server
« Risposta #2 il: 19 Dicembre 2013, 19:22:51 CET »
0
ciò che manda il server è questo:

Codice (Java): [Seleziona]
if(personaCheSiVuoleLoggare != null){
                                                risposta.put("risposta", "Login Ok");
                                                String jsonString = risposta.toString();        //l'utente esiste
                                                response.setCharacterEncoding("UTF-8");
                                                response.setContentType("text/x-json");
                                                response.getWriter().write(jsonString);
                                               
                                        }
                                        else{
                                                risposta.put("risposta", "Login KO");
                                                String jsonString =   JSONObject.fromObject(risposta).toString();       //l'utente non esiste
                                                response.setCharacterEncoding("UTF-8");
                                                response.setContentType("text/x-json");
                                                response.getWriter().write(jsonString);

Post unito: 19 Dicembre 2013, 19:23:26 CET

Post unito: 19 Dicembre 2013, 19:24:29 CET
Sembra che tu debba mettere la risposta del server in un object e non in un array (json)

ci ho provato ma ho ottenuto lo stesso errore  :-\

Post unito: 19 Dicembre 2013, 19:51:27 CET
modificando il blocco try usando JSONObject in questo modo:

Codice (Java): [Seleziona]
try {
        // network access.
        result = httpclient.execute(request, handler);
        httpclient.getConnectionManager().shutdown();
        System.out.println("111111111111"); ///////////////////////fino a qua è ok
        JSONObject risultato = new JSONObject(result);
        System.out.println("22222222222"); ////////////////////////////////////////
        System.out.println("La risposta e': " + result);
}

da questo logcat:

Codice (Java): [Seleziona]
12-19 19:42:45.140: I/System.out(11472): 111111111111
12-19 19:42:45.140: I/System.out(11472): Eccezione
12-19 19:42:45.150: W/System.err(11472): org.json.JSONException: End of input at character 0 of
12-19 19:42:45.680: W/System.err(11472):        at org.json.JSONTokener.syntaxError(JSONTokener.java:450)
12-19 19:42:45.680: W/System.err(11472):        at org.json.JSONTokener.nextValue(JSONTokener.java:97)
12-19 19:42:45.680: W/System.err(11472):        at org.json.JSONObject.<init>(JSONObject.java:155)
12-19 19:42:45.680: W/System.err(11472):        at org.json.JSONObject.<init>(JSONObject.java:172)
12-19 19:42:45.690: W/System.err(11472):        at it.appcalcioitalia.applicazioneclient.LoginActivity$UserLoginTask.doInBackground(LoginActivity.java:234)
12-19 19:42:45.690: W/System.err(11472):        at it.appcalcioitalia.applicazioneclient.LoginActivity$UserLoginTask.doInBackground(LoginActivity.java:1)
12-19 19:42:45.690: W/System.err(11472):        at android.os.AsyncTask$2.call(AsyncTask.java:288)
12-19 19:42:45.690: W/System.err(11472):        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
12-19 19:42:45.690: W/System.err(11472):        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
12-19 19:42:45.690: W/System.err(11472):        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
12-19 19:42:45.700: W/System.err(11472):        at java.lang.Thread.run(Thread.java:841)
« Ultima modifica: 19 Dicembre 2013, 19:51:27 CET da aledpa, Reason: Merged DoublePost »

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problema parsing JSON in ciò che si riceve dal server
« Risposta #3 il: 19 Dicembre 2013, 19:55:12 CET »
0
Strano errore.

Metti l'indirizzo del webservice nella barra del browser e vedi un po' come è fatta la stringa JSON (se puoi postarla ancora meglio).
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline aledpa

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
Re:Problema parsing JSON in ciò che si riceve dal server
« Risposta #4 il: 19 Dicembre 2013, 20:05:25 CET »
0
ho provato a fare stampare la variabile result subito dopo la result = httpclient.execute(request, handler); perché mi era venuto il dubbio se arrivasse qualcosa ed infatti non arriva niente, anche mettendo nel browser l'indirizzo del server non viene visualizzato niente...sarà li quindi l'errore immagino allora..

questo è il codice del server:
Codice (Java): [Seleziona]
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String azione = request.getParameter("azione");
        if(azione != null){
         switch (azione){
          case "L":             // Login               
                String user = request.getParameter("user");
                String passw = request.getParameter("pass");
                Utente personaCheSiVuoleLoggare = DbHandler.doQueryLogin(user, passw);
                JSONObject risposta = new JSONObject();
                if(personaCheSiVuoleLoggare != null){
                        risposta.put("risposta", "Login Ok");
                        String jsonString = risposta.toString();        //l'utente esiste
                        response.setCharacterEncoding("UTF-8");
                        response.setContentType("text/x-json");
                        response.getWriter().write(jsonString);
                                               
                }
                else{
                        risposta.put("risposta", "Login KO");
                        String jsonString =   JSONObject.fromObject(risposta).toString();       //l'utente non esiste
                        response.setCharacterEncoding("UTF-8");
                        response.setContentType("text/x-json");
                        response.getWriter().write(jsonString);
                }
                break;
        }
      }
}

sbaglio qualcosa?

Post unito: 19 Dicembre 2013, 20:30:36 CET
all'indirizzo http://localhost:8080/RestfulWebServiceProject/RestfulServlet?azione=L&user=emailcheesiste&pass=relativapassword sul browser (i dati sono quelli che provo a mandare e che nel database che viene invocato sono contenuti) mi restituisce questo:
{"risposta":"Login KO"}
« Ultima modifica: 20 Dicembre 2013, 15:38:37 CET da aledpa »

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problema parsing JSON in ciò che si riceve dal server
« Risposta #5 il: 19 Dicembre 2013, 20:38:18 CET »
0
Prova sul browser dell'emulatore, vedrai che con localhost non ti ritorna niente (la ragione è spiegata per esteso nelle pagine del sito ufficiale android.com dedicate a come usare l'emulatore).

Al posto di localhost prova a mettere l'IP della rete locale in cui è connesso il PC (tipo 192.168.x.x)
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline aledpa

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
Re:Problema parsing JSON in ciò che si riceve dal server
« Risposta #6 il: 20 Dicembre 2013, 09:53:26 CET »
0
ma l'app non si collega a localhost ma proprio ad un indirizzo del tipo 192.168.x.x
( String URL = "http://192.168.1.64:8080/RestfulWebServiceProject/RestfulServlet"; ) quarto rigo del primo riquadro di codice (l'indirizzo l'ho preso con ipconfig alla voce ipv4)

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problema parsing JSON in ciò che si riceve dal server
« Risposta #7 il: 20 Dicembre 2013, 13:08:38 CET »
0
ma l'app non si collega a localhost ma proprio ad un indirizzo del tipo 192.168.x.x
( String URL = "http://192.168.1.64:8080/RestfulWebServiceProject/RestfulServlet"; ) quarto rigo del primo riquadro di codice (l'indirizzo l'ho preso con ipconfig alla voce ipv4)

E se copi questo indirizzo nel browser dell'emulatore cosa ti ritorna?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline aledpa

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
Re:Problema parsing JSON in ciò che si riceve dal server
« Risposta #8 il: 20 Dicembre 2013, 15:16:11 CET »
0
{"risposta":"Login KO"}

esattamente uguale a ciò che vedo nel server

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problema parsing JSON in ciò che si riceve dal server
« Risposta #9 il: 20 Dicembre 2013, 15:40:16 CET »
0
{"risposta":"Login KO"}

esattamente uguale a ciò che vedo nel server

Ok, ora devi scoprire perchè l'app invece riceve una stringa vuota.

Risolto quello, poi devi usare un JSONObject, perchè quello sopra non è un JSONArray.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline aledpa

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
Re:Problema parsing JSON in ciò che si riceve dal server
« Risposta #10 il: 20 Dicembre 2013, 15:55:41 CET »
0
Ok, ora devi scoprire perchè l'app invece riceve una stringa vuota.


ok, ci sto provando ma ciò mi sembra molto strano, se il browser manda qualcosa l'unica cosa che posso pensare è che la lettura non sia giusta ma ho guardato diversi esempi e così dovrebbe essere

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problema parsing JSON in ciò che si riceve dal server
« Risposta #11 il: 20 Dicembre 2013, 20:07:41 CET »
0
Aspetta. Rivedendo meglio il codice c'è una cosa che non mi torna:

Codice (Java): [Seleziona]
result = httpclient.execute(request, handler);
Facendo la richiesta in questo modo, la avvii correttamente, ma la risposta viene mandata all'handler.

Citazione
HttpClient | Android Developers
Executes a request using the default context and processes the response using the given response handler.

E' una cosa che hai ben chiara, oppure hai preso il codice da qualche esempio che ti sembrava adatto al tuo caso?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline aledpa

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
Re:Problema parsing JSON in ciò che si riceve dal server
« Risposta #12 il: 21 Dicembre 2013, 15:54:16 CET »
0
Aspetta. Rivedendo meglio il codice c'è una cosa che non mi torna:

Codice (Java): [Seleziona]
result = httpclient.execute(request, handler);
Facendo la richiesta in questo modo, la avvii correttamente, ma la risposta viene mandata all'handler.

E' una cosa che hai ben chiara, oppure hai preso il codice da qualche esempio che ti sembrava adatto al tuo caso?

la seconda, ho letto che grazie all'handler dichiarato in quel modo ( ResponseHandler<String> handler = new BasicResponseHandler(); ) la risposta http veniva convertita in string, mi sbaglio? l'esempio che ho seguito funzionava correttamente

Offline aledpa

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
Re:Problema parsing JSON in ciò che si riceve dal server
« Risposta #13 il: 30 Dicembre 2013, 13:50:48 CET »
0
ho modificato il codice, nella parte doInBackground ho messo ora questo codice:

Codice (Java): [Seleziona]
/**
         * Rappresenta una registrazione asincrono/task di registrazione usato per autenticare l'utente.
         */

        public class UserRegisterTask extends AsyncTask<Void, Void, JSONObject> {
                @Override
                protected JSONObject doInBackground(Void... params) {
                        // TODO: attempt authentication against a network service.
                        String URL = "http://192.168.1.66:8080/ApplicazioneCalcioItaliaServer/RestfulServlet";
                        HttpClient httpclient = null;
                        HttpResponse response = null;
                        String url = URL;
                        String azione = "R";
                        url = URL + "?azione=" + azione;
                        String n = newNome;
                        String c = newCognome;
                        String t = newTelefono;
                        String u = newEmail;
                        String p = newPassword;
                        InputStream is = null;
                        String result = "";
                        JSONObject jObj = null;
                       
                        if (u != null && !u.trim().equals("") && p != null && !p.trim().equals("")){
                                url = URL + "&nome=" + n + "&cogn=" + c + "&tel=" + t + "&user=" + u + "&pass=" + p;
                        }
                       
                        JSONArray json = new JSONArray();
                        json.put("registrazione");
            List<NameValuePair> prova = new ArrayList<NameValuePair>();
            prova.add(new BasicNameValuePair("json",json.toString()));
                        //http post
            try{
                    httpclient = new DefaultHttpClient();
                    HttpPost httppost = new HttpPost(url);
       //             httppost.setEntity(new UrlEncodedFormEntity(prova));
                    response = httpclient.execute(httppost);
                    HttpEntity entity = response.getEntity();
                    is = entity.getContent();
            }catch(Exception e){
                    System.out.println("Error in http connection "+ e.toString());
            }
           
          //converte risposta (response) in stringa
            try{
                        BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"),8);                
                    StringBuilder sb = new StringBuilder();
                    String line = null;
                    while ((line = reader.readLine()) != null) {
                            sb.append(line + "\n");
                    }
                    is.close();
                    result = sb.toString();
                System.out.println( "result è: " + result);
            }catch(Exception e){
                System.out.println( "Error converting result: " + e.toString());
            }
           
            try {
                System.out.println("Registrazione prova pre json object");              // // // //
                jObj = new JSONObject(result);
                System.out.println("Registrazione prova post json object");             // // // //
            }
            catch (JSONException e) {
                System.out.println( "Error parsing data " + e.toString());
            }

            System.out.println("Fine registazione, risultato: " + result);
            //return JSON string
            return jObj;                       
                }

                @Override
                protected void onPostExecute(final JSONObject success) {
                        mAuthTask = null;
                        showProgress(false);
                        // Se il task prima ha ritornato true, allora termina (SUCCESSO)
                        if (success != null) {
                                Toast.makeText(getApplicationContext(), "Registrazione eseguita, una email è stata inviata al tuo indirizzo", Toast.LENGTH_LONG).show();
                                finish();
                        } else {
                                Toast.makeText(getApplicationContext(), "Errore di registrazione", Toast.LENGTH_LONG).show();
                        //      mPasswordView.setError(getString(R.string.error_incorrect_password));
                        //      mPasswordView.requestFocus();
                        }
                }

il log che mi viene dato è:
Codice (Java): [Seleziona]
12-30 13:45:29.454: I/System.out(2313): result è: <html><head><title>Apache Tomcat/5.5.33 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 404 - /ApplicazioneCalcioItaliaServer/RestfulServlet&amp;nome=Nome1&amp;cogn=Cognome1&amp;tel=1234567890&amp;user=jecko88@msn.com&amp;pass=password1</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>/ApplicazioneCalcioItaliaServer/RestfulServlet&amp;nome=Nome1&amp;cogn=Cognome1&amp;tel=1234567890&amp;user=jecko88@msn.com&amp;pass=password1</u></p><p><b>description</b> <u>The requested resource (/ApplicazioneCalcioItaliaServer/RestfulServlet&amp;nome=Nome1&amp;cogn=Cognome1&amp;tel=1234567890&amp;user=jecko88@msn.com&amp;pass=password1) is not available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/5.5.33</h3></body></html>
12-30 13:45:29.454: I/System.out(2313): Registrazione prova pre json object
12-30 13:45:29.464: I/System.out(2313): Error parsing data org.json.JSONException: Value <html><head><title>Apache of type java.lang.String cannot be converted to JSONObject
12-30 13:45:29.464: I/System.out(2313): Fine registazione, risultato: <html><head><title>Apache Tomcat/5.5.33 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 404 - /ApplicazioneCalcioItaliaServer/RestfulServlet&amp;nome=Nome1&amp;cogn=Cognome1&amp;tel=1234567890&amp;user=jecko88@msn.com&amp;pass=password1</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>/ApplicazioneCalcioItaliaServer/RestfulServlet&amp;nome=Nome1&amp;cogn=Cognome1&amp;tel=1234567890&amp;user=jecko88@msn.com&amp;pass=password1</u></p><p><b>description</b> <u>The requested resource (/ApplicazioneCalcioItaliaServer/RestfulServlet&amp;nome=Nome1&amp;cogn=Cognome1&amp;tel=1234567890&amp;user=jecko88@msn.com&amp;pass=password1) is not available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/5.5.33</h3></body></html>

PS. questa activity deve fare la registrazione di un nuovo utente, ciò che arriva è sempre un json e mandando questa richiesta sul browser si riceve:
[{"registrazione":"Registrazione Ok"}]

allora mi sembra che il problema sia dovuto ad una organizzazione in html, ma non riesco a capire dove nel codice c'è messa questa configurazione (a me serve in json), ho preso spunto da un esempio in rete, potreste darmi una mano?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problema parsing JSON in ciò che si riceve dal server
« Risposta #14 il: 30 Dicembre 2013, 17:08:15 CET »
+1
Probabilmente lo hai già visto, ma la risposta è il classico errore 404 (pagina non trovata). Copiando il result e mettendolo in un file HTML, visualizzato in un browser, da' questo:

Citazione
HTTP Status 404 - /ApplicazioneCalcioItaliaServer/RestfulServlet&nome=Nome1&cogn=Cognome1&tel=1234567890&user=jecko88@msn.com&pass=password1

type Status report

message /ApplicazioneCalcioItaliaServer/RestfulServlet&nome=Nome1&cogn=Cognome1&tel=1234567890&user=jecko88@msn.com&pass=password1

description

The requested resource (/ApplicazioneCalcioItaliaServer/RestfulServlet&nome=Nome1&cogn=Cognome1&tel=1234567890&user=jecko88@msn.com&pass=password1) is not available.

Apache Tomcat/5.5.33

Potrebbe esserci qualche problema con l'indirizzo http.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store