2017-05-26 1 views
-2

Je suis en train d'analyser la demande volée comme "JsonObjectRequest",Android: com.android.volley.ServerError

reçois le repos d'erreur comme "com.android.volley.ServerError", ne sais pas quelle est la cause?

 RequestQueue queue = Volley.newRequestQueue(mConetxt);  


JsonObjectRequest putRequestUNregister = new JsonObjectRequest(Request.Method.POST, Global.un_register_device, deviceInfoUnRegister, 
      new Response.Listener<JSONObject>() 
      { 
       @Override 
       public void onResponse(JSONObject response) { 
        // response 

       } 
      }, 
      new Response.ErrorListener() 
      { 
       @Override 
       public void onErrorResponse(VolleyError error) { 
        // error 
        hideProgress(); 
        notificationInterface.NotificationReturn(false); 
        Log.e("Error.Response","notify onErrorResponse VolleyError "+ error.toString()); 
        if (error instanceof TimeoutError || error instanceof NoConnectionError) { 
         Log.e("Error.Response","notify onErrorResponse VolleyError TimeoutError"+ error.toString()); 
        } else if (error instanceof AuthFailureError) { 
         Log.e("Error.Response","notify onErrorResponse VolleyError AuthFailureError"+ error.toString()); 
        } else if (error instanceof ServerError) { 
         Log.e("Error.Response","notify onErrorResponse VolleyError ServerError"+ error.toString()); 
         //TODO 
        } else if (error instanceof NetworkError) { 
         Log.e("Error.Response","notify onErrorResponse VolleyError NetworkError"+ error.toString()); 
         //TODO 
        } else if (error instanceof ParseError) { 
         Log.e("Error.Response","notify onErrorResponse VolleyError ParseError"+ error.toString()); 
         //TODO 
        } 
       } 
      } 
    ) { 

     @Override 
     public Map<String, String> getHeaders() 
     { 
      Map<String, String> headers = new HashMap<String, String>(); 
      headers.put("Content-Type", "application/json; charset=utf-8"); 
      headers.put("Accept", "application/json"); 

      return headers; 
     } 

     @Override 
     public String getBodyContentType() { 
      return "application/json; charset=utf-8"; 
     } 

     @Override 
     public byte[] getBody() { 

      try { 
       return deviceInfoUnRegister.toString().getBytes("UTF-8"); 
      } catch (UnsupportedEncodingException e) { 
       e.printStackTrace(); 
      } 
      return null; 
     } 
    }; 

C'est la façon que je tente d'analyser, et je reçois l'erreur "VolleyError com.android.volley.ServerError"

+1

Essayez de vous assurer que votre serveur fonctionne bien. Vous pouvez utiliser Postman (plug-in chrome) ou tout autre moyen pour envoyer une demande de publication à l'URL et voir ce qu'il répond. –

+1

Essayez avec 'StringRequest' et ce que vous avez obtenu une réponse. –

+0

ce que vous la réponse que vous obtenez .... essayer d'imprimer stackTrace de celui-ci –

Répondre

0

remplacer le code avec

headers.put("Content-Type", "application/json; charset=utf-8"); 
headers.put("Accept", "application/json"); 

à

headers.put("Accept","application/json"); 
headers.put("Content-Type","application/json"); 
+1

J'ai essayé cela, toujours obtenir le problème @ ND1010_ –

+0

pouvez-vous me dire quel est le code de réponse que vous obtenez? –

+0

son appel nouvelle Response.ErrorListener() et le onErrorResponse en tant que "com.android.volley.ServerError" @ ND1010_ –