2017-01-19 1 views
0

Ich benutze volley in meiner Android-Anwendung, um eine HTTP-GET-Anfrage zu machen. Ich erhalte den folgenden Fehler -Fehler beim Senden von HTTP-GET-Anfragen mit Volley in Android

(HTTPLog)-Static: isSBSettingEnabled false 
(HTTPLog)-Static: isSBSettingEnabled false 
BasicNetwork.performRequest: Unexpected response code 500 for D/LOG ENTRY(21952): com.android.volley.ServerError 

Wenn ich einen REST-Client verwende, um die gleiche HTTP-Anfrage zu machen, ist es erfolgreich.

Mein Volley Anforderungscode ist -

RequestQueue queue2 = Volley.newRequestQueue(appContext); 
     JsonObjectRequest req = new JsonObjectRequest(Request.Method.GET,url,null, 
         new Response.Listener<JSONObject>() { 
          @Override 
          public void onResponse(JSONObject response) { 

           Log.d("Response",response.toString()); 
          } 
         }, new Response.ErrorListener() { 
          @Override 
          public void onErrorResponse(VolleyError error) { 
           Log.d("LOG ENTRY",error.toString());      
          } 
         }) { 

        @Override 
        public Map<String, String> getHeaders() throws AuthFailureError { 
         HashMap<String, String> headers = new HashMap<String, String>(); 
         headers.put("clientSecret", appContext.getString(R.string.username)); 
         return headers; 
        } 
       }; 

     // Add the request to the RequestQueue. 
     queue2.add(req); 

Bitte könnte Ihnen helfen herauszufinden, warum der Fehler

+0

Was ist der Link verwenden? Fehler 500 ist ein interner Serverfehler (Fehler ist auf Serverseite). –

+0

dachte ich auch, aber wenn ich den gleichen Link auf einem REST-API-Client verwende, funktioniert es so nicht sicher, was das Problem ist – AP01

+0

Ich sende 10 ähnliche HTTP-Anfragen, immer für einige von ihnen zufällig bekomme ich diesen Fehler und für andere nicht . und wenn ich getCause() oder getStackTrace() seine leere – AP01

Antwort

0

Der Fehler 500 ist ein interner Serverfehler passiert, so dass es ein Fehler auf dem Server seitig ist Code. Die Ursache dafür (in diesem Fall) ist, dass Sie das API-Anforderungslimit überschreiten.

Der Volley-Code ist in diesem Fall in Ordnung.

0

diese Zeile entfernen:

queue2.add(req); 

diese Zeile hinzufügen:

AppController.getInstance().addToRequestQueue(queue2);