Parsing complex response i.e response having an array inside another array from SOAP in android -
i trying parse soap in android following code:
private final string namespace = "http://tempuri.org/"; private final string url = ""; private final string soap_action = "http://tempuri.org/getseatlayout"; private final string method_name = "getseatlayout"; /** called when activity first created. */ @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); //setcontentview(r.layout.main); arraylist<object> strareacategorycode = new arraylist<object>(); arraylist<object> intareanumber = new arraylist<object>(); arraylist<object> strclass = new arraylist<object>(); arraylist<object> objarrseatinfo = new arraylist<object>(); arraylist<object> intexceptioncode = new arraylist<object>(); arraylist<object> screenid = new arraylist<object>(); arraylist<object> statusid = new arraylist<object>(); arraylist<object> ticketrate = new arraylist<object>(); arraylist<object> charge = new arraylist<object>(); arraylist<object> othercharge = new arraylist<object>(); arraylist<object> totalcharge = new arraylist<object>(); arraylist<object> strrow = new arraylist<object>(); arraylist<object> intseat = new arraylist<object>(); arraylist<object> intseatid = new arraylist<object>(); arraylist<object> rowseatstatus = new arraylist<object>(); arraylist<object> hascurrentorder = new arraylist<object>(); soapobject request = new soapobject(namespace, method_name); log.e("","request"+request); string strcinemacode ="0002"; long lngsessionid=103286; string strshowclass = "executive"; long lngnooftickets = 1; int intbookid = 0; long uniquereqi = 0; string seatselected = ",o_14"; int intaggregatorid = 1; //1-fame / 2-inox string strctransid = "20002070519"; propertyinfo strcinemacode1 =new propertyinfo(); strcinemacode1.setname("strcinemacode"); strcinemacode1.setvalue(strcinemacode); strcinemacode1.settype(string.class); request.addproperty(strcinemacode1); propertyinfo lngsessionid1 =new propertyinfo(); lngsessionid1.setname("lngsessionid"); lngsessionid1.setvalue(lngsessionid); //lngsessionid1.settype(long.class); request.addproperty(lngsessionid1); propertyinfo strshowclass1 =new propertyinfo(); strshowclass1.setname("strshowclass"); strshowclass1.setvalue(strshowclass); strshowclass1.settype(string.class); request.addproperty(strshowclass1); propertyinfo lngnooftickets1 =new propertyinfo(); lngnooftickets1.setname("lngnooftickets"); lngnooftickets1.setvalue(lngnooftickets); //lngnooftickets1.settype(long.class); request.addproperty(lngnooftickets1); propertyinfo intbookid1 =new propertyinfo(); intbookid1.setname("intbookid"); intbookid1.setvalue(intbookid); intbookid1.settype(integer.class); request.addproperty(intbookid1); propertyinfo uniquereqi1 =new propertyinfo(); uniquereqi1.setname("uniquereqi"); uniquereqi1.setvalue(uniquereqi); // uniquereqi1.settype(long.class); request.addproperty(uniquereqi1); propertyinfo seatselected1 =new propertyinfo(); seatselected1.setname("seatselected"); seatselected1.setvalue(seatselected); seatselected1.settype(string.class); request.addproperty(strcinemacode1); propertyinfo intaggregatorid1 =new propertyinfo(); intaggregatorid1.setname("intaggregatorid"); intaggregatorid1.setvalue(intaggregatorid); intaggregatorid1.settype(integer.class); request.addproperty(intaggregatorid1); propertyinfo strctransid1 =new propertyinfo(); strctransid1.setname("strctransid"); strctransid1.setvalue(strctransid); strctransid1.settype(string.class); request.addproperty(strctransid1); soapserializationenvelope envelope = new soapserializationenvelope(soapenvelope.ver11); envelope.dotnet = true; envelope.setoutputsoapobject(request); httptransportse androidhttptransport = new httptransportse(url); try { androidhttptransport.call(soap_action, envelope); //soapprimitive response = (soapprimitive)envelope.getresponse(); soapobject response = (soapobject)envelope.getresponse(); log.e("","response:"+response.tostring()); string []categories = new string [response.getpropertycount()]; (int = 0; < categories.length; i++) { soapobject pii = (soapobject)response.getproperty(i); strareacategorycode.add(pii.getproperty(0)); log.e(""," strareacategorycode= "+ strareacategorycode.get(i)); intareanumber.add(pii.getproperty(1)); log.e(""," intareanumber= "+ intareanumber.get(i)); strclass.add(pii.getproperty(2)); log.e(""," strclass= "+ strclass.get(i)); objarrseatinfo.add(pii.getproperty(3)); log.e(""," objarrseatinfo= "+ objarrseatinfo.get(i)); intexceptioncode.add(pii.getproperty(4)); log.e("","intexceptioncode= "+ intexceptioncode.get(i)); screenid.add(pii.getproperty(5)); log.e("","screenid= "+ screenid.get(i)); statusid.add(pii.getproperty(6)); log.e(""," statusid= "+ statusid.get(i)); ticketrate.add(pii.getproperty(7)); log.e(""," ticketrate= "+ ticketrate.get(i)); charge.add(pii.getproperty(8)); log.e(""," charge= "+ charge.get(i)); othercharge.add(pii.getproperty(9)); log.e(""," othercharge= "+ othercharge.get(i)); totalcharge.add(pii.getproperty(10)); log.e(""," cinemacode= "+ totalcharge.get(i)); } } catch (exception e) { log.e("","error in connection"); string response = e.tostring(); log.e("",""+response); } } } by using above code getting following response in logsheet
06-05 18:56:22.937: e/(1689): strareacategorycode= 0000000007 06-05 18:56:22.937: e/(1689): intareanumber= 1 06-05 18:56:22.947: e/(1689): strclass= silver 06-05 18:56:23.027: e/(1689): objarrseatinfo= anytype{seatinfo=anytype{strrow=a; introwid=1; intseat=3; intseatid=3; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=4; intseatid=4; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=5; intseatid=5; rowseatstatus=available; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=6; intseatid=6; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=7; intseatid=7; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=8; intseatid=8; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=9; intseatid=9; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=10; intseatid=10; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=11; intseatid=11; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=12; intseatid=12; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=13; intseatid=13; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=14; intseatid=14; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=15; intseatid=15; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=16; intseatid=16; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=17; intseatid=17; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=18; intseatid=18; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=19; intseatid=19; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=20; intseatid=20; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=21; intseatid=21; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=22; intseatid=22; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=23; intseatid=23; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=24; intseatid=24; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=25; intseatid=25; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=26; intseatid=26; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=27; intseatid=27; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=28; intseatid=28; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=29; intseatid=29; rowseatstatus=available; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=30; intseatid=30; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=31; intseatid=31; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=32; intseatid=32; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=a; introwid=1; intseat=33; intseatid=33; rowseatstatus=sold; hascurrentorder=false; }; } 06-05 18:56:23.027: e/(1689): intexceptioncode= 0 06-05 18:56:23.038: e/(1689): screenid= 0 06-05 18:56:23.038: e/(1689): statusid= 0 06-05 18:56:23.038: e/(1689): ticketrate= 0 06-05 18:56:23.038: e/(1689): charge= 0 06-05 18:56:23.057: e/(1689): othercharge= 0 06-05 18:56:23.077: e/(1689): cinemacode= 0 06-05 18:56:23.077: e/(1689): strareacategorycode= 0000000007 06-05 18:56:23.088: e/(1689): intareanumber= 1 06-05 18:56:23.088: e/(1689): strclass= silver 06-05 18:56:23.227: e/(1689): objarrseatinfo= anytype{seatinfo=anytype{strrow=b; intseat=0; intseatid=0; rowseatstatus=available; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=4; intseatid=4; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=5; intseatid=5; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=6; intseatid=6; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=7; intseatid=7; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=8; intseatid=8; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; intseat=0; intseatid=0; rowseatstatus=available; hascurrentorder=false; }; seatinfo=anytype{strrow=b; intseat=0; intseatid=0; rowseatstatus=available; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=11; intseatid=11; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=12; intseatid=12; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=13; intseatid=13; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=14; intseatid=14; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=15; intseatid=15; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=16; intseatid=16; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=17; intseatid=17; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=18; intseatid=18; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=19; intseatid=19; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=20; intseatid=20; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=21; intseatid=21; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=22; intseatid=22; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=23; intseatid=23; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=24; intseatid=24; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=25; intseatid=25; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; intseat=0; intseatid=0; rowseatstatus=available; hascurrentorder=false; }; seatinfo=anytype{strrow=b; intseat=0; intseatid=0; rowseatstatus=available; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=28; intseatid=28; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=29; intseatid=29; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=30; intseatid=30; rowseatstatus=available; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=31; intseatid=31; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; introwid=2; intseat=32; intseatid=32; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{strrow=b; intseat=0; intseatid=0; rowseatstatus=available; hascurrentorder=false; }; } 06-05 18:56:23.237: e/(1689): intexceptioncode= 0 06-05 18:56:23.249: e/(1689): screenid= 0 06-05 18:56:23.249: e/(1689): statusid= 0 06-05 18:56:23.258: e/(1689): ticketrate= 0 06-05 18:56:23.258: e/(1689): charge= 0 06-05 18:56:23.278: e/(1689): othercharge= 0 06-05 18:56:23.278: e/(1689): cinemacode= 0 06-05 18:56:23.318: e/(1689): strareacategorycode= 0000000007 06-05 18:56:23.318: e/(1689): intareanumber= 1 06-05 18:56:23.327: e/(1689): strclass= silver and on..
now looking response variable objarrseatinfo array have many variables inside.
i tried have variables variable no use.so can please me how can variable similar main array. example
variable strareacategorycode getting value of pii.getproperty(0) same way strrow should value of strrow objarrseatinfo= anytype{seatinfo=anytype{strrow=b; intseat=0; intseatid=0; rowseatstatus=available; hascurrentorder=false; }; sorry new ksoap library , trying after long time not able solve please me giving example or tips urgent.
thanks in advance parth.
you can use codes hold seatinfo objects arraylist.
first add pojo follow:
public class seatinfo { private string strrow; private int introwid; private int intseat; private int intseatid; private string rowseatstatus; private boolean hascurrentorder; public string getstrrow() { return strrow; } public void setstrrow(string strrow) { this.strrow = strrow; } public int getintrowid() { return introwid; } public void setintrowid(int introwid) { this.introwid = introwid; } public int getintseat() { return intseat; } public void setintseat(int intseat) { this.intseat = intseat; } public int getintseatid() { return intseatid; } public void setintseatid(int intseatid) { this.intseatid = intseatid; } public string getrowseatstatus() { return rowseatstatus; } public void setrowseatstatus(string rowseatstatus) { this.rowseatstatus = rowseatstatus; } public boolean ishascurrentorder() { return hascurrentorder; } public void sethascurrentorder(boolean hascurrentorder) { this.hascurrentorder = hascurrentorder; } @override public string tostring() { return "seatinfo [strrow=" + strrow + ", introwid=" + introwid + ", intseat=" + intseat + ", intseatid=" + intseatid + ", rowseatstatus=" + rowseatstatus + ", hascurrentorder=" + hascurrentorder + "]"; } } and parse:
/** ... */ /** seatinfo objects */ soapobject soapseatinfo = (soapobject) pii.getproperty(3); /** seatinfo objects count */ int seatinfocount = soapseatinfo.getpropertycount(); /** list hold seatinfo objects after parsing */ list<seatinfo> listseatinfo = new arraylist<seatinfo>(); (int j = 0; j < seatinfocount; j++) { /** temp seatinfo soap object */ soapobject sochild = (soapobject) soapseatinfo.getproperty(j); /** temp seatinfo object */ seatinfo si = new seatinfo(); /** setting emp seatinfo objects properties */ si.setstrrow(sochild.getpropertyasstring("strrow")); si.setintrowid(integer.parseint(sochild.getpropertyasstring("strrow"))); si.setintseat(integer.parseint(sochild.getpropertyasstring("strrow"))); si.setintseatid(integer.parseint(sochild.getpropertyasstring("strrow"))); si.setrowseatstatus(sochild.getpropertyasstring("strrow")); si.sethascurrentorder(boolean.parseboolean(sochild.getpropertyasstring("strrow"))); /** add temp object list */ listseatinfo.add(si); } /** ... */ now have list contains seatinfo objects, named listseatinfo. , each of objarrseatinfo soap object seen follow (may easier understand)
objarrseatinfo= anytype{ seatinfo=anytype{ strrow=a; introwid=1; intseat=3; intseatid=3; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=4; intseatid=4; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=5; intseatid=5; rowseatstatus=available; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=6; intseatid=6; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=7; intseatid=7; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=8; intseatid=8; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=9; intseatid=9; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=10; intseatid=10; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=11; intseatid=11; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=12; intseatid=12; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=13; intseatid=13; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=14; intseatid=14; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=15; intseatid=15; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=16; intseatid=16; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=17; intseatid=17; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=18; intseatid=18; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=19; intseatid=19; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=20; intseatid=20; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=21; intseatid=21; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=22; intseatid=22; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=23; intseatid=23; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=24; intseatid=24; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=25; intseatid=25; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=26; intseatid=26; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=27; intseatid=27; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=28; intseatid=28; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=29; intseatid=29; rowseatstatus=available; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=30; intseatid=30; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=31; intseatid=31; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=32; intseatid=32; rowseatstatus=sold; hascurrentorder=false; }; seatinfo=anytype{ strrow=a; introwid=1; intseat=33; intseatid=33; rowseatstatus=sold; hascurrentorder=false; }; }
Comments
Post a Comment