2016-11-17 36 views
0

这就是我所说的功能:凌空给出了协议异常错误,21个过多followups

public static void sendData(final Integer type , final String url, final Context context, final CrudStateCallback back){ 
    StringRequest jr = new StringRequest(type, url, 
      new Response.Listener<String>() { 
       @Override 
       public void onResponse(String response) { 
        System.out.println(response.substring(0,100)); 
        Log.i("","WSCALLS response is: " + response); 
        if(back != null) 
         back.onResponse(200, response); 
       } 
      }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      Log.i("","WSCALLS Something went wrong!"); 
      error.printStackTrace(); 
      String errorS = "error is null"; 
      int code = 0; 
      try { 
       if (error != null) { 
        errorS = error.getMessage(); 
        code = error.networkResponse.statusCode; 
       } 
      }catch (Exception e){ 
       Log.e("","WSCALLS error is in send data:" + e.getMessage()); 
      } 
      if(back != null) 
       back.onResponse(code, errorS); 
     } 
    }); 
    if (Utils.networkIsAvailable(context)) { 
     jr.setRetryPolicy(new DefaultRetryPolicy(60 * 1000, 0, 1)); 
     VidyoSampleApplication.mRequestQueue.add(jr); 
    } 
} 

用下面的PARAMS:

WSCalls.sendData(Request.Method.GET, "https://control.facetalk.nl/vidyologs/call_start.php?meetingID=82000005715&profielID=51108581", VidyoSampleActivity.this, null); 

我试过网址:https://control.facetalk.nl/vidyologs/call_start.php?meetingID=82000005715&profielID=51108581和它的作品,邮递员我得到了“200”。 但凌空将返回以下错误:

11-17 16:54:57.094: W/System.err(3415): com.android.volley.NoConnectionError: java.net.ProtocolException: Too many follow-up requests: 21 
11-17 16:54:57.094: W/System.err(3415):  at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:151) 
11-17 16:54:57.094: W/System.err(3415):  at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112) 
11-17 16:54:57.094: W/System.err(3415):  at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:401) 
11-17 16:54:57.094: W/System.err(3415):  at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:501) 
11-17 16:54:57.094: W/System.err(3415):  at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105) 
11-17 16:54:57.094: W/System.err(3415):  at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java) 
11-17 16:54:57.095: W/System.err(3415):  at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:110) 
11-17 16:54:57.095: W/System.err(3415):  at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:96) 

我能做些什么来解决这个问题?我不明白,我试着修改detaulf重试政策,但没有什么帮助

回答

0

我做到了使用的HttpClient,而不是排球和它的工作:

HttpClient httpClient = new DefaultHttpClient(); 
       httpClient.getParams().setParameter(ClientPNames.ALLOW_CIRCULAR_REDIRECTS, true); 
       HttpPost httpPost = new HttpPost(url); 
       HttpResponse response = httpClient.execute(httpPost); 
       String responseBody = ""; 
       BufferedReader buffer = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); 
       String s = ""; 
       while ((s = buffer.readLine()) != null) 
        responseBody += s; 
       Log.i("","WSCAlls response body is:" + responseBody);