2014-11-25 68 views
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 
+1

您的一個docTed.getSomething()爲null。 – pdegand59 2014-11-25 14:07:23

+0

檢查它:http://stackoverflow.com/questions/25091913/volley-string-request-error-while-passing-string-with-null-value-as-param – Saeid 2015-04-18 12:23:46

回答

3

你會得到這個例外,當任何PARAMS值是零。 在參數中檢查您的值參數。