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