我收到onErrorResponse中的com.android.volley.ClientError异常。在我的代码下面。最初代码使用volley'StringRequest'工作;当我改变它使用JsonObjectRequest时,我得到了错误。我认为错误与请求参数有关。他们没有被送到服务。测试REST服务是用.NET编写的,但这不会有什么区别。Volley ClientError意外的响应代码404
private static final String ENDPOINT = "http://XXX.XXX.X.XXX/Test.App.REST/api/User/";
HashMap<String, String> params = new HashMap<String, String>();
params.put("EmployeeId", "01123");
params.put("Environment", "DAT");
CustomRequest jsonRequest = new CustomRequest
(Request.Method.GET, ENDPOINT, params, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
ControlUserResponse resp = (ControlUserResponse) gson.fromJson(response.toString(), ControlUserResponse.class);
respTxt.setText(resp.firstName + " -- " + resp.lastName);
} catch (JsonSyntaxException e) {
respTxt.setText(e.toString());
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
respTxt.setText(error.toString());
error.printStackTrace();
}
});
Volley.newRequestQueue(this).add(jsonRequest);
我用的辅助类CustomRequest从这个网址 Volley JsonObjectRequest Post request not working
我可以测试下面的网址是我的机器上的浏览器工作正常,并返回正确的数据 http://XXX.XXX.X.XXX/Test.App.REST/api/User/?EmployeeId=01123&Environment=DAT
任何帮助将不胜感激。由于
异常堆栈跟踪如下:
04-26 14:48:27.180 9441-9574/test.app.resttest E/Volley: [308] BasicNetwork.performRequest: Unexpected response code 404 for http://XXX.XX.X.XXX/Test.App.REST/api/User
04-26 14:48:27.183 9441-9441/test.app.resttest W/System.err: com.android.volley.ClientError
04-26 14:48:27.183 9441-9441/asc.app.resttest W/System.err: at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:164)
04-26 14:48:27.183 9441-9441/asc.app.resttest W/System.err: at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112)
请发表上述 –
错误消息看起来你只是改变了终点......有道理考虑一个404 Not Found错误 – ibrahim