Je suis en train de frapper un service web en utilisant la bibliothèque de volée. Dans cette bibliothèque que je dois joindre les en-têtes pour poster une demande mais je reçois une erreur tout en frappant un service Web-à-dire « onErrorResponse: null »Impossible de joindre l'en-tête avec la demande de poste en volée dans android
// code pour elle
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST,
url,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.e("response", response.toString());
pDialog.hide();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.e("Error: " + error.getMessage());
Toast.makeText(getActivity(), R.string.txt_error_occured, Toast.LENGTH_LONG).show();
pDialog.hide();
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("policyNo", policyNo);
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> params = new HashMap<String, String>();
params.put("Content-Type", "application/x-www-form-urlencoded");
params.put("Content-Type", "application/json; charset=utf-8");
params.put("User-agent", "My useragent");
return params;
}
};
// Ajout d'une requête à une file d'attente AppController.getInstance(). addToRequestQueue (jsonObjReq, tag_json_obj);
comment savez-vous que l'erreur est parce que des en-têtes? –
Essayez de cette façon: Au lieu de 'JsonObjectRequest', utilisez' StringRequest' et n'ajoutez pas 'Content-Type' dans les paramètres seulement, passez les paramètres qui nécessitent des valeurs. Parfois, la réponse vient en chaîne de JSON, newbie pense qu'il faut utiliser JSON mais il devrait normalement exiger 'StringRequest'. –