java - IOException raise in parser -
i make application in call webservices , fill data. here due odd things occure.i got error arrayindexoutofbound ioexception... have use sax parser parseing simple webservices.
error::
07-02 16:50:52.992: e/nearbyscreen(31762): sax parser errorjava.lang.arrayindexoutofboundsexception: length=8192; regionstart=-2888; regionlength=11080 07-02 16:50:52.992: w/system.err(31762): java.lang.arrayindexoutofboundsexception: length=8192; regionstart=-2888; regionlength=11080 07-02 16:50:53.002: e/nearbyscreen(31762): sax parser errorjava.io.ioexception: attempted read on closed stream. 07-02 16:50:53.002: w/system.err(31762): @ java.util.arrays.checkoffsetandcount(arrays.java:1731) 07-02 16:50:53.012: w/system.err(31762): @ java.net.plainsocketimpl.read(plainsocketimpl.java:484) 07-02 16:50:53.012: w/system.err(31762): @ java.net.plainsocketimpl.access$000(plainsocketimpl.java:46) 07-02 16:50:53.012: w/system.err(31762): @ java.net.plainsocketimpl$plainsocketinputstream.read(plainsocketimpl.java:240) 07-02 16:50:53.012: w/system.err(31762): @ org.apache.http.impl.io.abstractsessioninputbuffer.fillbuffer(abstractsessioninputbuffer.java:103) 07-02 16:50:53.012: w/system.err(31762): @ org.apache.http.impl.io.abstractsessioninputbuffer.read(abstractsessioninputbuffer.java:134)
code ::
defaulthttpclient client = new defaulthttpclient(); string concateurl = string.valueof(newviewportlatitude) + "," + string.valueof(newviewportlongitude)+"/tour/1000/1/5/"; url urlpush = new url(getstring(r.string.nearbyurl)+concateurl); log.i(tag, "** url ** ->" + urlpush); httpget httpget = new httpget(urlpush.touri()); httpparams httpparams = httpget.getparams(); int timeoutdconnection = 30000; httpconnectionparams.setconnectiontimeout(httpparams, timeoutdconnection); httpget.setparams(httpparams); httpresponse response = client.execute(httpget); httpentity entity = response.getentity(); if (entity != null) { log.i("mymapactivity", "--1--"); instream = entity.getcontent(); log.i("mymapactivity", "--2--"); } if (instream != null) { log.i("mymapactivity", "--3--"); /********** test *******/ saxparserfactory saxpf = saxparserfactory.newinstance(); saxparser saxp = saxpf.newsaxparser(); xmlreader xmlr = saxp.getxmlreader(); system.out.println("url >>>>>" + urlpush); nearbyhandler myxmlhandler = new nearbyhandler(); xmlr.setcontenthandler(myxmlhandler); xmlr.parse(new inputsource(instream)); instream.close(); whalewatchinginfolist = myxmlhandler.getquotes(); // fill arraylist handler log.i(tag, "whalewatchinginfolist size " + whalewatchinginfolist.size()); log.w("androidparsexmlactivity", "done"); } }catch (connecttimeoutexception e) { log.e(tag, "connectiontimeout " + e); isconnectiontimeoutexception = true; //flag connectiontimout } catch (exception e) { log.e(tag, "sax parser error" + e); e.printstacktrace(); //flag connectiontimout }
update:
07-02 17:10:52.042: d/process(1606): com.android.server.am.activitymanagerservice.servicedoneexecuting(activitymanagerservice.java:12474) 07-02 17:10:52.042: d/process(1606): android.app.activitymanagernative.ontransact(activitymanagernative.java:723) 07-02 17:10:52.042: d/process(1606): com.android.server.am.activitymanagerservice.ontransact(activitymanagerservice.java:1714) 07-02 17:10:52.042: d/process(1606): android.os.binder.exectransact(binder.java:338) 07-02 17:10:52.042: d/process(1606): dalvik.system.nativestart.run(native method) 07-02 17:10:53.643: d/wifistatemachine(1606): fetchrssiandlinkspeednative rssi = -66 07-02 17:10:56.656: d/wifistatemachine(1606): fetchrssiandlinkspeednative rssi = -65 07-02 17:10:59.669: d/wifistatemachine(1606): fetchrssiandlinkspeednative rssi = -65 07-02 17:11:02.512: d/phonestatusbarpolicy(1695): silentresetvalue = 0, mtimerenabled = false 07-02 17:11:02.512: d/phonestatusbarpolicy(1695): updatesignalstrength(), in service, remove timer 07-02 17:11:02.542: d/phonestatusbarpolicy(1695): iscdma():false hasservice:true msimstate=unknown gprsstate=0 mdatastate=-1 dataactivity=0 mphone.htcmodemlinkon:false hspa==true 07-02 17:11:02.542: d/phonestatusbarpolicy(1695): updatedataicon(), silentresetvalue = 0, mtimerenabled = false 07-02 17:11:02.542: d/phonestatusbarpolicy(1695): updatedataicon(), in data service, nothing 07-02 17:11:02.672: d/wifistatemachine(1606): fetchrssiandlinkspeednative rssi = -66 07-02 17:11:05.685: d/wifistatemachine(1606): fetchrssiandlinkspeednative rssi = -65 07-02 17:11:08.688: d/wifistatemachine(1606): fetchrssiandlinkspeednative rssi = -64 07-02 17:11:09.449: i/global(2636): in close() @ sockethttpclientconnection 07-02 17:11:09.449: i/global(2636): call socket close in sockethttpclientconnection, socket=socket[address=www.google-analytics.com/74.125.236.101,port=80,localport=43849] 07-02 17:11:11.701: d/wifistatemachine(1606): fetchrssiandlinkspeednative rssi = -65 07-02 17:11:13.833: d/autosetting(2358): service - handlemessage() incoming message, what:50 07-02 17:11:13.833: d/autosetting(2358): service - handlemessage() stop self 07-02 17:11:13.843: d/autosetting(2358): service - ondestroy() 07-02 17:11:13.873: d/autosetting(2358): service - handlemessage() incoming message, what:100 07-02 17:11:13.893: d/autosetting(2358): service - ondestroy() end 07-02 17:11:13.903: d/process(1606): killprocessquiet, pid=2358 07-02 17:11:13.903: d/process(1606): dalvik.system.vmstack.getthreadstacktrace(native method) 07-02 17:11:13.903: d/process(1606): java.lang.thread.getstacktrace(thread.java:599) 07-02 17:11:13.903: d/process(1606): android.os.process.killprocessquiet(process.java:837)
you setting connection timeout 30 seconds. may connection timing out , stream closed. happen in debug mode. may try increase period.
Comments
Post a Comment