Question

I have problem when parsing ksoap response.

Request Dump:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:server" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
   <SOAP-ENV:Body>
      <tns:get_event>
         <phone xsi:type="xsd:string">7827701616</phone>
      </tns:get_event>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Response Dump:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:server" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
   <SOAP-ENV:Body>
      <ns1:get_eventResponse xmlns:ns1="urn:server">
         <return xsi:type="tns:events_data">
            <events xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:events[3]">
               <item xsi:type="tns:events">
                  <groom xsi:type="xsd:string">sanskaar</groom>
                  <bride xsi:type="xsd:string">saumya</bride>
                  <event_name xsi:type="xsd:string">wedding</event_name>
                  <venue xsi:type="xsd:string">New Delhi</venue>
                  <event_date xsi:type="xsd:string">Tuesday April 14, 2014</event_date>
               </item>
               <item xsi:type="tns:events">
                  <groom xsi:type="xsd:string">sanskaar</groom>
                  <bride xsi:type="xsd:string">saumya</bride>
                  <event_name xsi:type="xsd:string">hzbrgbj</event_name>
                  <venue xsi:type="xsd:string">New Delhi</venue>
                  <event_date xsi:type="xsd:string">Tuesday April 14, 2014</event_date>
               </item>
               <item xsi:type="tns:events">
                  <groom xsi:type="xsd:string">sanskaar</groom>
                  <bride xsi:type="xsd:string">saumya</bride>
                  <event_name xsi:type="xsd:string">wedding</event_name>
                  <venue xsi:type="xsd:string">New Delhi</venue>
                  <event_date xsi:type="xsd:string">Tuesday April 14, 2014</event_date>
               </item>
            </events>
         </return>
      </ns1:get_eventResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Activity code for parsing response:

ht.call(SOAP_ACTION, envelope);
SoapObject response = (SoapObject) envelope.getResponse();
System.out.print(response);//getting output here checked by debugging

for(int i=0;i<response.getPropertyCount();i++){    
       Object property = response.getProperty(i);
       if(property instanceof SoapObject)//returning false
       {
           SoapObject final_object = (SoapObject) property;
           String groom = final_object.getProperty("groom").toString();
    }
}

I am getting response of KSOAP response but i am not able to understand why i am unable to parse response.

Code execute without error but not enters in If condition because of property instanceof SoapObject returning false.

Why is this? Guide me please

Was it helpful?

Solution

I have same kind of issue i solve it using Vector:

Parsing code:

ht.call(SOAP_ACTION, envelope);

SoapObject response = (SoapObject) envelope.getResponse();

for(int i=0;i<response.getPropertyCount();i++){    

       Vector resV = (Vector)response.getProperty(i); 
       int resVlenght = resV.size();

       for(int count = 0;count<resVlenght;count++)
       {
           HashMap<String,String> value = new HashMap<String,String>();
           String n = resV.elementAt(count).toString();
           SoapObject p = (SoapObject)resV.elementAt(count);
           System.out.print(n);

           String groom= p.getProperty("groom").toString();

       }

}

OTHER TIPS

Object property = (SoapObject) response.getProperty(i);

try to do in this way

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top