Portal Android - Comunidade de Desenvolvedores Android
http://www.portalandroid.org/comunidade/

HTTPPOST envio de json grande não está indo pelo aplicativo
http://www.portalandroid.org/comunidade/viewtopic.php?f=2&t=31416
Página 1 de 1

Autor:  igor.chemin [ 11 Jun 2019, 09:00 ]
Assunto do Tópico:  HTTPPOST envio de json grande não está indo pelo aplicativo

Bom dia Srs,
ja faz um tempo que havia parado com desenvolvimento android e ao retornar a uns meses me deparei com uma dificuldade onde já procurei por soluções na internet e não encontrei nada para me ajuda então resolvi posta minha dificuldade em busca de ajuda.
Estou no desenvolvimento de uma forca de venda onde o mesmo sincroniza com webservice em PHP, envia pedido normalmente, porem domingo 08/06/2019 tentei realizar um pedido com 197 itens e me deparei com a supressa que o mesmo não envia para meu servidor. Ao acompanhar o logcat percebi que cortava a String próximo do final, até achei que fosse isso mas ou mandar gravar os dados que seriam enviados em TXT antes de passar pelo:
httpPost.setEntity(new UrlEncodedFormEntity(valores));


Percebi que a String não estava cortando e peguei o .txt gerado então realizei um teste pelo aplicativo Postman em meu pc e consegui enviar normal o pedido para API do webservice.
Segue o código que estou utilizando e o arquivo gerado em json de envio não sei se alguma limitação do httpost ou como posso tentar fazer para resolver:

public class ConexaoHttpClient {
    public static final int HTTP_TIMEOUT=60* 1000;
    private static HttpClient httpclient;
    private static java.io.File sdcard;

    private static HttpClient getHttpClient(){
        if(httpclient ==null){
            httpclient=new DefaultHttpClient();
            final HttpParams httpParams =httpclient.getParams();
            HttpConnectionParams.setConnectionTimeout(httpParams, HTTP_TIMEOUT);
            HttpConnectionParams.setSoTimeout(httpParams, HTTP_TIMEOUT);
            ConnManagerParams.setTimeout(httpParams, HTTP_TIMEOUT);
        }
        return httpclient;
    }

public static String executaHttpPost(String url, String method, String data){
   
    HttpClient httpClient=getHttpClient();
    //HttpClient httpClient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost(url);
    String answer = "";
    util utl =new util(null);
    try{
        ArrayList<NameValuePair> valores = new ArrayList<NameValuePair>();
        valores.add(new BasicNameValuePair("dados", data));
        // metodo para gravar .txt antes de enviar. apenas para validar se a String nao
        // estava cortando devido ao tamanho
        utl.SALVAR_ARQUIVOS(valores.toString(), "/ForcadeVenda/Temp/", "json_pedido.txt");
       
        httpPost.setEntity(new UrlEncodedFormEntity(valores));
        HttpResponse resposta = httpClient.execute(httpPost);
        answer = EntityUtils.toString(resposta.getEntity());
    }
    catch(NullPointerException e)
    {
        System.out.println("ConexaoHttpClient-> ERRO - NullPointerException  = "+e);
        e.printStackTrace();
    }
    catch(ClientProtocolException e){
        System.out.println("ConexaoHttpClient-> ERRO - ClientProtocolException = "+e);
        e.printStackTrace();
        }
    catch(IOException e){
        System.out.println("ConexaoHttpClient-> ERRO - IOException  = "+e);
        e.printStackTrace();
        }
   
    return(answer);
}




}



 


Qualquer ajuda ou sugestão para eu testar estou aberto pois já não sei como resolver isso!!

Desde já agradeço atenção de todos

Página 1 de 1 Todos os Horários estão como UTC - 2 horas [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/