2017-06-02 3 views
-1

Ich versuche, eine Android-Anwendung zu bauen, und ich habe eine 500 Antwort während GET Aktion, die Anfrage perfekt funktionieren und 200 im Postboten zurückgeben. Hier ist mein Code, es ist in der Funktion on create.Retrofit 500 Antwort während Get

try { 

       OkHttpClient client = new OkHttpClient(); 
       client.setConnectTimeout(5, TimeUnit.MINUTES); // connect timeout 
       client.setReadTimeout(5, TimeUnit.MINUTES); 
       Retrofit retrofit = new Retrofit.Builder() 
         .baseUrl(LoginActivity.adresseLocal).addConverterFactory(GsonConverterFactory.create()).client(client) 
         .build(); 
       APIService service = retrofit.create(APIService.class); 
       Call<List<Limit>> call1 = service.getLimit(pf.getString("ip",""),pf.getString("login",""),pf.getString("password",""),pf.getString("database",""), "792EE098-A158-4197-B6B9-23BD95D4F58B", "2", "2"); 

       call1.enqueue(new Callback<List<Limit>>() { 
        @Override 
        public void onResponse(Response<List<Limit>> response, Retrofit retrofit) { 

         System.out.println("respooooonse" + "" + response.code()); 
         Gson gson = new Gson(); 
         TypeAdapter<Limit> adapterrr = gson.getAdapter(Limit.class); 
         try { 
          Limit limit; 

          if (response.errorBody() != null) 
           limit = 
             adapterrr.fromJson(
               response.errorBody().string()); 
         } catch (IOException e) { 
          e.printStackTrace(); 
         } 

         System.out.println("d5aaaaaaaaaaaaaaaaaal"); 
         System.out.println("c bn d5al"); 
         limits = response.body(); 
         System.out.println(response.body()); 

        for (Limit l : response.body()) { 
    // 
    //       System.out.println(l.getRefpeak()); 
    //       System.out.println(p.getPeak()); 

    //       rms.add(new Entry(p.getRms(), i)); 
    //       ku.add(new Entry(p.getKu(), i)); 
    //       peak.add(new Entry(p.getPeak(), i)); 
    //       cf.add(new Entry(p.getCf(), i)); 
    //       ovelo.add(new Entry(p.getOvelo(), i)); 
    //       b1.add(new Entry(p.getB1(), i)); 
    //       b2.add(new Entry(p.getB2(), i)); 
    //       b3.add(new Entry(p.getB3(), i)); 
    //       b4.add(new Entry(p.getB4(), i)); 
    //       b5.add(new Entry(p.getB5(), i)); 
    //       b6.add(new Entry(p.getB6(), i)); 
    //       speed.add(new Entry(p.getSpeed(), i)); 
    //       i++; 
          } 


         } 





        @Override 
        public void onFailure(Throwable t) { 
         //avi.hide(); 
         System.out.println("faiiiilure"); 
         System.out.println("KAKA" + t.toString()); 
        } 
       }); 
      } catch (Exception e) { 
       Log.d("onResponse", "There is an error"); 
       e.printStackTrace(); 
      } 

Was ist falsch mit meinem Code?

Antwort

0

Wenn Sie eine Antwort mit Statuscode = 500 erhalten, die sich auf "Interner Serverfehler" bezieht, dann könnte dies der Server nicht gut mit Ihren Daten in der Anfrage gesendet werden. Um mehr Details zu kennen, können Sie alle Parameter anmelden, um an den Server gesendet:

pf.getString("login","") 
pf.getString("ip","") 
... 

dann mit Parametern vergleichen, in der Postbote gesendet.

More detail about error 500

+0

i übergeben die Parameter statisch und hat sich nichts geändert, ich den gleichen Fehler habe. –

+0

Können Sie den Server steuern? Wenn ja, können Sie den Detailfehler im Server sehen – NangSaigon

+0

Ich benutze node.js, kein Fehler im Server, der gerade die richtigen Parameter mit Code 500 übergibt. –