Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 24th, 2012  |  syntax: None  |  size: 4.30 KB  |  hits: 12  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Exception on httpclient.execute to web server
  2. public JSONObject postOnServer(JSONObject json) {
  3.  
  4.     HttpResponse response;
  5.     JSONObject res = null;
  6.  
  7.     HttpClient httpclient = new DefaultHttpClient();
  8.     HttpConnectionParams.setConnectionTimeout(httpclient.getParams(), 10000);
  9.     HttpPost httpPost = new HttpPost(PATH);
  10.  
  11.     try {
  12.  
  13.         //StringEntity stringEntity = new StringEntity("json", String.valueOf(json));
  14.         ByteArrayEntity postMessage = new ByteArrayEntity(json.toString().getBytes("UTF8"));
  15.         httpPost.setEntity(postMessage);
  16.         response = httpclient.execute(httpPost);
  17.  
  18.         if (response.getStatusLine().getStatusCode() == 200) {
  19.  
  20.             InputStream instream = response.getEntity().getContent();
  21.             try {
  22.                 res = new JSONObject(convertStreamToString(instream));
  23.             } catch (JSONException e) {
  24.                 // TODO Auto-generated catch block
  25.                 Log.i("Response JSON", e.toString());
  26.             }
  27.  
  28.         } else {
  29.  
  30.             res = new JSONObject();
  31.             try {
  32.                 res.put("error", "Unable to load page.");
  33.             } catch (JSONException e) {
  34.                 // TODO Auto-generated catch block
  35.             }
  36.  
  37.         }
  38.     } catch (IOException ex) {
  39.  
  40.         Log.i("Connection.postOnServer", "1.try exception: "+ex);
  41.         res = new JSONObject();
  42.         try {
  43.             res.put("error", "Synchronization is not enable: Connection has aborted.");
  44.         } catch (JSONException e) {
  45.             Log.i("Connection.postOnServer", "put exception: "+e);
  46.         }
  47.  
  48.     }
  49.  
  50.     return res;
  51. }
  52.        
  53. 05-24 10:58:51.635: E/AndroidRuntime(4709): FATAL EXCEPTION: main
  54. 05-24 10:58:51.635: E/AndroidRuntime(4709): android.os.NetworkOnMainThreadException
  55. 05-24 10:58:51.635: E/AndroidRuntime(4709):     at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)
  56. 05-24 10:58:51.635: E/AndroidRuntime(4709):     at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84)
  57. 05-24 10:58:51.635: E/AndroidRuntime(4709):     at libcore.io.IoBridge.connectErrno(IoBridge.java:138)
  58. 05-24 10:58:51.635: E/AndroidRuntime(4709):     at libcore.io.IoBridge.connect(IoBridge.java:112)
  59. 05-24 10:58:51.635: E/AndroidRuntime(4709):     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
  60. 05-24 10:58:51.635: E/AndroidRuntime(4709):     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
  61. 05-24 10:58:51.635: E/AndroidRuntime(4709):     at java.net.Socket.connect(Socket.java:842)
  62. 05-24 10:58:51.635: E/AndroidRuntime(4709):     at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119)
  63. 05-24 10:58:51.635: E/AndroidRuntime(4709):     at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:144)
  64. 05-24 10:58:51.635: E/AndroidRuntime(4709):     at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
  65. 05-24 10:58:51.635: E/AndroidRuntime(4709):     at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
  66. 05-24 10:58:51.635: E/AndroidRuntime(4709):     at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
  67. 05-24 10:58:51.635: E/AndroidRuntime(4709):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
  68. 05-24 10:58:51.635: E/AndroidRuntime(4709):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
  69. 05-24 10:58:51.635: E/AndroidRuntime(4709):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
  70.        
  71. new Thread(new Runnable() {
  72.     //Thread to stop network calls on the UI thread
  73.     public void run() {
  74.         //Request the HTML
  75.         try {
  76.             HttpParams httpParameters = new BasicHttpParams();
  77.             HttpConnectionParams.setConnectionTimeout(httpParameters, TIMEOUT_CONNECTION);
  78.             HttpConnectionParams.setSoTimeout(httpParameters, TIMEOUT_SOCKET);
  79.  
  80.             HttpClient client = new DefaultHttpClient(httpParameters);
  81.             HttpGet request = new HttpGet(getString(R.string.url));
  82.             HttpResponse response = client.execute(request);
  83.  
  84.             //Do something with the response
  85.         }
  86.         catch (IOException e) {
  87.             Log.e("Tag", "Could not get HTML: " + e.getMessage());
  88.         }
  89.     }
  90. }).start();