I get this error when I read an InputStream and try to used it again.
07-20 17:36:24.762  11253-11277/? W/System.err﹕ java.io.IOException
07-20 17:36:24.762  11253-11277/? W/System.err﹕ at java.io.InputStream.reset(InputStream.java:208)
07-20 17:36:24.762  11253-11277/? W/System.err﹕ at demo31.com.maps.GMapDirections$DownloadDocumentTask.doInBackground(GMapDirections.java:134)
07-20 17:36:24.762  11253-11277/? W/System.err﹕ at demo31.com.maps.GMapDirections$DownloadDocumentTask.doInBackground(GMapDirections.java:86)
07-20 17:36:24.762  11253-11277/? W/System.err﹕ at android.os.AsyncTask$2.call(AsyncTask.java:292)
07-20 17:36:24.762  11253-11277/? W/System.err﹕ at javautil.concurrent.FutureTask.run(FutureTask.java:237)
07-20 17:36:24.762  11253-11277/? W/System.err﹕ at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
07-20 17:36:24.762  11253-11277/? W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
07-20 17:36:24.762  11253-11277/? W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
07-20 17:36:24.762  11253-11277/? W/System.err﹕ at java.lang.Thread.run(Thread.java:818)
07-20 17:36:24.762  11253-11277/? D/GMapDirections﹕ Exception while downloading data: java.io.IOException
The code that I'm using is ...
@Override
protected Document doInBackground(ArrayList... latLngs) {
  Log.d(TAG, "DownloadDocumentTask(doInBackground): Estoy dentro del background!!!");
  try {
    HttpsURLConnection urlConnection;
    FileService file = new FileService();
    InputStream iStream;
    Document result;
    file.writeLog(TAG, GMapDirections.class.getName(), getUrlConnection());
    URL url = new URL(getUrlConnection());
    // Creating an http connection to communicate with url
    urlConnection = (HttpsURLConnection) url.openConnection();
    // Connecting to url
    urlConnection.setRequestMethod("POST");
    urlConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
    urlConnection.setRequestProperty("charset", "utf-8");
    urlConnection.setRequestProperty("Accept", "application/xml");
    urlConnection.setDoOutput(true);
    urlConnection.setDoInput(true);
    urlConnection.setUseCaches(false);
    urlConnection.connect();
    //Return data
    iStream = urlConnection.getInputStream();
    //Display what returns POST request
    BufferedReader br = new BufferedReader(new InputStreamReader(iStream));
    StringBuilder sb = new StringBuilder();
    String line;
    while ((line = br.readLine()) != null) {
      sb.append(line + "\n");
    }
    br.close();
    file.writeLog(GMapDirections.TAG, "doInBackground", sb.toString());
    // Parse the data to a Document Object
    DocumentBuilder builder =  DocumentBuilderFactory.newInstance().newDocumentBuilder();
    result = builder.parse(iStream);
    urlConnection.disconnect();
    return result;
  } catch (Exception e) {
     e.printStackTrace();
     Log.d(TAG, "Exception while downloading data: " + e.toString());
  }
  return null;
}
The exception is launched when I try to parse the content of iStream because previously I have read it using BufferedReader.
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
result = builder.parse(iStream);
So, how I can read the iStream with the BufferedReader and then used it to parse the content and not get an error?
 
     
     
     
    