AndroidVolley - 意外的响应代码500

时间:2018-02-20 13:07:35

标签: java android android-volley

使用邮递员(用于测试WEB服务的chrome扩展程序)访问特定的WEB服务会导致响应成功,但是我的应用程序实现在访问相同的WEB服务时失败并报告以下错误:

  

E / Volley:[365] BasicNetwork.performRequest:我正在使用的链接的意外响应代码500

我在这里想念的是什么? 谢谢。

我的应用代码:

 private void Uploads(final String imagePath)
{

    CustomJSONObjectRequest rq = new CustomJSONObjectRequest(Request.Method.POST, BASE_URL, null,
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    try {

                        String success = response.getString("message");


                            Toast.makeText(getActivity(), success, Toast.LENGTH_LONG).show();

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {
            Log.d("Response Error", error.toString());
            Toast.makeText(getActivity(), "Fail", Toast.LENGTH_LONG).show();
        }
    }) {

        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            HashMap<String, String> headers = new HashMap<>();
            headers.put("token", "$2y$10$2V.Ux6CRmHoPCs2UziaVx.e6poDbFkZE2rrGrrLO1YbGcuUnkGFSS");
            return headers;
        }

        @Override
        protected Map<String, String> getParams() {
            Map<String, String> params = new HashMap<>();
            params.put("email", "t@t.ru");
            params.put("name", "Abyl");
            params.put("phone", "7777777777");
            params.put("fio", "fioasiodfaisfoiaosf");
            params.put("zarplata_ot", "450000");
            params.put("zarplata_do", "800000");
            params.put("opit_raboty", "2");
            params.put("city_id", "1");
            params.put("img",imagePath);
            params.put("user_id", "73");
            params.put("description", "asdasdasdasdasdasdasdasd");
            return params;
        }

    };

    VolleyController.getInstance(getActivity()).addToRequestQueue(rq);
}

2 个答案:

答案 0 :(得分:0)

如果你正在使用Volley,你必须检查一些基本配置。所以

  1. 确保您已为截击创建了一个AppController类。
  2. 请确保您在Android Manifest.like中初始化此Appcontroller 此

            <application android:name="app.AppController"
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
    
  3. 打印 params hashmap ,您的令牌 stacktrace 。也可以帮助您识别深层问题并再次检查 Baseurl

答案 1 :(得分:0)

代码500是HTTP错误代码,表示“内部服务器错误”。因此,可能问题仍然存在于API方面