1
我正在開發一個在php中使用web服務的android應用程序。 一切工作到現在爲止。 爲了交流android和php,我使用了抽象庫,並且一切正常,但是這個。 我不知道這是最大數量的參數還是什麼。 任何事情都是真的, 我測試了一些東西,當我發送一半參數「工作」時,它返回錯誤500,但至少它發送了一些東西。 當我嘗試發送所有參數時,出現這個奇怪的錯誤。Android凌空奇怪的錯誤
這裏是我的代碼,並且錯誤:
public void inserePagamento(final Context ctx, DocTed docTed,
final ProgressDialog ringProgressDialog) {
String url = "http://192.168.1.168/declabank/ws/public/transacaoDocTed";
Encriptador cesar = Encriptador.getInstance();
HashMap<String, String> params = new HashMap<String, String>();
params.put("agencia", usuario.getAgencia());
params.put("conta", usuario.getConta());
params.put("cripto",cesar.encriptar(cesar.getChave(), usuario.getNome()));
params.put("docFavorecidoNome", docTed.getNomeFav());
params.put("docFavorecidoCompensacao", docTed.getCodComp());
params.put("docFavorecidoBanco", docTed.getCodBanco());
params.put("docFavorecidoAgencia", docTed.getnAgencia());
params.put("docFavorecidoConta", docTed.getnConta());
params.put("docFavorecidoCPFCNPJ", docTed.getCpfCnpj());
params.put("docFavorecidoTipo", docTed.getDocFTipo());
params.put("docTed", "" + docTed.getDocTed());
params.put("docFinalidadeTransacao", docTed.getFinalidadeCod());
params.put("docTitularidade", docTed.getTipoDoc());
params.put("docValor", docTed.getValor());
params.put("docData", docTed.getData());
params.put("docRemetenteNome", docTed.getNomeRemetente());
params.put("docRemetenteCPFCNPJ", docTed.getCpfCnpjRemetente());
params.put("docRemetenteConta", docTed.getContaRemetente());
params.put("CXC_COD_CX", docTed.getCodCx());
params.put("docOrigem", docTed.getOrigem());
params.put("docStatus", "" + docTed.getStatus());
params.put("docComprovante", docTed.getComprovante());
params.put("docTransferirEm", docTed.getTransferirEm());
params.put("docAgendado", "" + docTed.getAgendado());
RequestQueue rq = Volley.newRequestQueue(ctx);
DeclaJSONArrayRequest djson = new DeclaJSONArrayRequest(Method.POST,
url, params, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray responseArray) {
try {
JSONObject response = responseArray
.getJSONObject(0);
try {
Log.e("DocTed", "DocTed gravado");
Log.e("DocTed", "DocTed gravado");
Log.e("DocTed", "DocTed gravado");
Log.e("DocTed", "DocTed gravado");
Log.e("DocTed", "DocTed gravado");
String erro = response.getString("erro");
ringProgressDialog.dismiss();
Toast.makeText(ctx, erro, Toast.LENGTH_LONG)
.show();
} catch (JSONException e) {
e.printStackTrace();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
if (error != null) {
Toast.makeText(ctx, "Erro: ", Toast.LENGTH_LONG)
.show();
Log.e("Erro", "" + error.getMessage());
} else {
Toast.makeText(ctx, "Erro: " + error.getMessage(),
Toast.LENGTH_LONG).show();
Log.e("Erro", "Treta da Grossa");
}
}
});
djson.setTag("TagPagamento");
djson.setRetryPolicy((RetryPolicy) new DefaultRetryPolicy(15000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
rq.add(djson);
}
錯誤:
11-25 11:46:17.556: E/Volley(4874): [404] NetworkDispatcher.run: Unhandled exception java.lang.NullPointerException
11-25 11:46:17.556: E/Volley(4874): java.lang.NullPointerException
11-25 11:46:17.556: E/Volley(4874): at libcore.net.UriCodec.encode(UriCodec.java:132)
11-25 11:46:17.556: E/Volley(4874): at java.net.URLEncoder.encode(URLEncoder.java:57)
11-25 11:46:17.556: E/Volley(4874): at com.android.volley.Request.encodeParameters(Request.java:463)
11-25 11:46:17.556: E/Volley(4874): at com.android.volley.Request.getBody(Request.java:449)
11-25 11:46:17.556: E/Volley(4874): at com.android.volley.toolbox.HurlStack.addBodyIfExists(HurlStack.java:236)
11-25 11:46:17.556: E/Volley(4874): at com.android.volley.toolbox.HurlStack.setConnectionParametersForRequest(HurlStack.java:210)
11-25 11:46:17.556: E/Volley(4874): at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:106)
11-25 11:46:17.556: E/Volley(4874): at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:96)
11-25 11:46:17.556: E/Volley(4874): at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:110)
11-25 11:46:21.496: E/Erro(4874): java.lang.NullPointerException
您的一個docTed.getSomething()爲null。 – pdegand59 2014-11-25 14:07:23
檢查它:http://stackoverflow.com/questions/25091913/volley-string-request-error-while-passing-string-with-null-value-as-param – Saeid 2015-04-18 12:23:46