PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 25 → WM - Controle do Timeout do Httprequest do Windev Mobile para as versões antigas da 21
WM - Controle do Timeout do Httprequest do Windev Mobile para as versões antigas da 21
Started by BOLLER, Dec., 12 2016 6:25 PM - 1 reply
Registered member
3,660 messages
Popularité : +175 (223 votes)
Posted on December, 12 2016 - 6:25 PM
Prezados,

Controle do Timeout do Httprequest do Windev Mobile para as versões antigas da 21

PROCEDURE GLOBAL

import java.io.IOException;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.io.BufferedInputStream;
import android.app.Activity;
import android.view.View.OnClickListener;
import android.provider.MediaStore;
import java.io.UnsupportedEncodingException;
import android.util.Base64;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;
import java.io.BufferedWriter;
import java.io.FileWriter;
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import java.net.SocketTimeoutException;

public static String Executa_Rest_Android (String uri, String json, int vtime ) {
HttpURLConnection urlConnection;
String url;
String data = json;
String result = null;

HttpParams myParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(myParams, vtime);
HttpConnectionParams.setSoTimeout(myParams, vtime);
HttpClient httpclient = new DefaultHttpClient(myParams );

try {

//Connect
HttpURLConnection.setFollowRedirects(False);
urlConnection = (HttpURLConnection) ((new URL(uri).openConnection()));
urlConnection.setReadTimeout(vtime);
urlConnection.setConnectTimeout(vtime); //set timeout to 10 seconds

urlConnection.setDoOutput(True);
urlConnection.setRequestProperty("Content-Type", "application/json");
urlConnection.setRequestProperty("Accept", "application/json");
urlConnection.setRequestMethod("POST");
urlConnection.connect();

//Write
OutputStream outputStream = urlConnection.getOutputStream();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
writer.write(data);
writer.close();
outputStream.close();

//Read
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), "UTF-8"));

String line = null;
StringBuilder sb = new StringBuilder();

while ((line = bufferedReader.readLine()) != null) {
sb.append(line); //teste
}

bufferedReader.close();
result = sb.toString();

} catch (java.net.ConnectException e) {
return "0";
} catch (java.io.IOException e) {
return "0";
}
return result;
}


OBRIGADO VILANI PELA CONTRIBUIÇÃO

:merci:

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Registered member
123 messages
Popularité : +46 (46 votes)
Posted on December, 12 2016 - 9:06 PM
é BUG então? ou seja a função nativa do Windev Mobile tem bug?

--
Atte. Willian Fernando
Message modified, December, 12 2016 - 9:06 PM