Получение кода ответа из ответа об ошибке залпа - PullRequest
0 голосов
/ 26 мая 2020

Как мы можем получить код ответа и сообщение об ошибочном ответе от клиента? Здесь error.toString () возвращает: com. android .volley.ServerError error.getMEssage (): null error.getCause (): null parseNetworkResponse: никогда не входит в эту функцию. Когда я добавляю метод getParams (), он может вернуть ClientError, но код ответа et c по-прежнему не работает !!!!!!! Я пытаюсь это сделать последние 24 часа. Нет ответа нигде.

private void getStudentInfo(String number){
RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this);
final String url = organizationRoot+"/identity/detailed/" +number ;
StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {
        txtTagContent.setText(response);
    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {

        txtTagContent.setText("ERROR " + error.toString() + error.getMessage() + error.getCause());
    }
}){

    @Override
    public Map<String, String> getHeaders() throws AuthFailureError {
        return requestHeaders;
    }

    @Override
    protected Response<String> parseNetworkResponse(NetworkResponse response) {
            txtTagContent.setText("WORKED ");
            return Response.success( "", HttpHeaderParser.parseCacheHeaders(response));
    }
};
requestQueue.add(stringRequest);

}

Ответы [ 2 ]

0 голосов
/ 26 мая 2020

Может, попробуешь

new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    String message = null;
                    if (error instanceof NetworkError) {
                        message = "Cannot connect to Internet...Please check your connection!";
                    } else if (error instanceof ServerError) {
                        message = "The server could not be found. Please try again after some time!!";
                    } else if (error instanceof AuthFailureError) {
                        message = "Cannot connect to Internet...Please check your connection!";
                    } else if (error instanceof ParseError) {
                        message = "Parsing error! Please try again after some time!!";
                    } else if (error instanceof NoConnectionError) {
                        message = "Cannot connect to Internet...Please check your connection!";
                    } else if (error instanceof TimeoutError) {
                        message = "Connection TimeOut! Please check your internet connection.";
                    }
                    Toast.makeText(LoginActivity.this, message, Toast.LENGTH_SHORT).show();
                }
            }
0 голосов
/ 26 мая 2020

Не могли бы вы попробовать:

int statusCode = error.networkResponse.statusCode;
Log.e(TAG, String.valueOf(statusCode);
...