android - Andorid Async onPostExecute is not reached but after restart IIS7.5 is working fine -



android - Andorid Async onPostExecute is not reached but after restart IIS7.5 is working fine -

i google few hours on problem. cannot solution. hence, hope can give me idea. my problem async onpostexecute not reached. however, whenever restart iis 7.5 on laptop. async can work fine. after few times async method called repeatly, async onpostexecute not reached again, took long time @ doinbackground, infinitely. set seek grab @ doinbackground, there no error catched. thanks.

activitymain.java @override protected void oncreate(bundle savedinstancestate) { updateservingno_estimatedtime(); } public void updateservingno_estimatedtime() { new asynctask<void, void, string>() { @override protected void onpreexecute() { activitymain.this.setprogressbarindeterminatevisibility(true); }; @override protected string doinbackground(void... params) { string result = "0"; seek { service_egiliran service = new service_egiliran(); servingnumcounter1 = service.getcurrentservingnobystatus("counter1"); servingnumcounter2 = service.getcurrentservingnobystatus("counter2"); servingnumroom1 = service.getcurrentservingnobystatus("room1"); servingnumroom2 = service.getcurrentservingnobystatus("room2"); servingnumroom3 = service.getcurrentservingnobystatus("room3"); servingnumpharmacy1 = service.getcurrentservingnobystatus("pharmacy1"); servingnumpharmacy2 = service.getcurrentservingnobystatus("pharmacy2"); avgscdcounter1 = service.getavgsecondsbystatus("counter1")!=0 ? service.getavgsecondsbystatus("counter1")/60: 0; // min = seconds/60 avgscdcounter2 = service.getavgsecondsbystatus("counter2")!=0 ? service.getavgsecondsbystatus("counter2")/60: 0; avgscdroom1 = service.getavgsecondsbystatus("room1")!=0 ? service.getavgsecondsbystatus("room1")/60: 0; avgscdroom2 = service.getavgsecondsbystatus("room2")!=0 ? service.getavgsecondsbystatus("room2")/60: 0; avgscdroom3 = service.getavgsecondsbystatus("room3")!=0 ? service.getavgsecondsbystatus("room3")/60: 0; avgscdpharmacy1 = service.getavgsecondsbystatus("pharmacy1")!=0 ? service.getavgsecondsbystatus("pharmacy1")/60: 0; avgscdpharmacy2 = service.getavgsecondsbystatus("pharmacy2")!=0 ? service.getavgsecondsbystatus("pharmacy2")/60: 0; result = "1"; } grab (exception e) { result = e.getmessage(); } homecoming result; } @override protected void onpostexecute(string result) { activitymain.this.setprogressbarindeterminatevisibility(false); if(result.equals("1")) { //update ui label serving number lblcounter1ticket.settext(integer.tostring(servingnumcounter1)); lblcounter2ticket.settext(integer.tostring(servingnumcounter2)); lblroom1ticket.settext(integer.tostring(servingnumroom1)); lblroom2ticket.settext(integer.tostring(servingnumroom2)); lblroom3ticket.settext(integer.tostring(servingnumroom3)); lblpharmacy1ticket.settext(integer.tostring(servingnumpharmacy1)); lblpharmacy2ticket.settext(integer.tostring(servingnumpharmacy2)); lblcounter1time.settext(avgscdcounter1 + " min"); lblcounter2time.settext(avgscdcounter2 + " min"); lblroom1time.settext(avgscdroom1 + " min"); lblroom2time.settext(avgscdroom2 + " min"); lblroom3time.settext(avgscdroom3 + " min"); lblpharmacy1time.settext(avgscdpharmacy1 + " min"); lblpharmacy2time.settext(avgscdpharmacy2 + " min"); } else { toast.maketext(activitymain.this, "error: "+result, toast.length_short).show(); } } }.execute(); }

service_egiliran.java webservice genereated java stub www.wsdl2code.com uploading .asmx files.

service_egiliran.java public int getcurrentservingnobystatus(string status, list<headerproperty> headers) { soapserializationenvelope soapenvelope = new soapserializationenvelope(soapenvelope.ver11); soapenvelope.implicittypes = true; soapenvelope.dotnet = true; soapobject soapreq = new soapobject("http://tempuri.org/", "getcurrentservingnobystatus"); soapreq.addproperty("status", status); soapenvelope.setoutputsoapobject(soapreq); httptransportse httptransport = new httptransportse(url, timeout); seek { if(headers != null) { httptransport.call("http://tempuri.org/getcurrentservingnobystatus", soapenvelope, headers); } else { httptransport.call("http://tempuri.org/getcurrentservingnobystatus", soapenvelope); } object retobj = soapenvelope.bodyin; if(retobj instanceof soapfault) { soapfault fault = (soapfault) retobj; exception ex = new exception(fault.faultstring); if(eventhandler != null) eventhandler.wsdl2codefinishedwithexception(ex); } else { soapobject result = (soapobject) retobj; if(result.getpropertycount() > 0) { object obj = result.getproperty(0); if(obj != null && obj.getclass().equals(soapprimitive.class)) { soapprimitive j = (soapprimitive) obj; int resultvariable = integer.parseint(j.tostring()); homecoming resultvariable; } else if(obj != null && obj instanceof number) { int resultvariable = (integer) obj; homecoming resultvariable; } } } } grab (exception e) { if(eventhandler != null) eventhandler.wsdl2codefinishedwithexception(e); e.printstacktrace(); } homecoming -1; } logcat

i have solved problem myself. modified web service's method way. @ previous version, lot of calls similar action. modified , grab info want async lower burden of server. maybe not best solution. hope post can help faced similar issue.

after modified version (async task) @override protected string doinbackground(void... params) { string result = ""; seek { service_egiliran service = new service_egiliran(); string strresultservingno = service.getallservingno(); string strresultavgseconds = service.getallavgseconds(); result = "1"; } grab (exception e) { result = e.getmessage(); } homecoming result; } before modified version (async task) @override protected string doinbackground(void... params) { string result = "0"; seek { service_egiliran service = new service_egiliran(); servingnumcounter1 = service.getcurrentservingnobystatus("counter1"); servingnumcounter2 = service.getcurrentservingnobystatus("counter2"); servingnumroom1 = service.getcurrentservingnobystatus("room1"); servingnumroom2 = service.getcurrentservingnobystatus("room2"); servingnumroom3 = service.getcurrentservingnobystatus("room3"); servingnumpharmacy1 = service.getcurrentservingnobystatus("pharmacy1"); servingnumpharmacy2 = service.getcurrentservingnobystatus("pharmacy2"); avgscdcounter1 = service.getavgsecondsbystatus("counter1")!=0 ? service.getavgsecondsbystatus("counter1")/60: 0; // min = seconds/60 avgscdcounter2 = service.getavgsecondsbystatus("counter2")!=0 ? service.getavgsecondsbystatus("counter2")/60: 0; avgscdroom1 = service.getavgsecondsbystatus("room1")!=0 ? service.getavgsecondsbystatus("room1")/60: 0; avgscdroom2 = service.getavgsecondsbystatus("room2")!=0 ? service.getavgsecondsbystatus("room2")/60: 0; avgscdroom3 = service.getavgsecondsbystatus("room3")!=0 ? service.getavgsecondsbystatus("room3")/60: 0; avgscdpharmacy1 = service.getavgsecondsbystatus("pharmacy1")!=0 ? service.getavgsecondsbystatus("pharmacy1")/60: 0; avgscdpharmacy2 = service.getavgsecondsbystatus("pharmacy2")!=0 ? service.getavgsecondsbystatus("pharmacy2")/60: 0; result = "1"; } grab (exception e) { result = e.getmessage(); } homecoming result; }

android iis android-asynctask asmx wsdl2code

Comments

Popular posts from this blog

model view controller - MVC Rails Planning -

ruby on rails - Devise Logout Error in RoR -

html - Submenu setup with jquery and effect 'fold' -