How To Parse Data From Soap Envelope Object In Android
SoapObject result = (SoapObject) envelope.getResponse(); SoapObject root = (SoapObject) result.getProperty(0); SoapObject s_deals = (SoapObject) root.getProperty('InfraWiseDetails'
Solution 1:
After long time i am looking on ksoap2 code. Try this :
SoapObjectresult= (SoapObject) envelope.getResponse();
SoapObjectroot= (SoapObject) result.getProperty(0);
SoapObjects_deals= (SoapObject) root.getProperty("InfraWiseDetails");
for (inti=0; i < s_deals.getPropertyCount(); i++) {
SoapObjects_deals_1= (SoapObject) s_deals.getProperty(i);
Stringx= s_deals_1.getProperty("Feedback").toString();
Stringy= s_deals_1.getProperty("InfraName").toString();
Stringz= s_deals_1.getProperty("Problem").toString();
}
Solution 2:
Try like this in your Code , You can parse the data from KSoap
getdata(String SearchValue)
- Call this method inside your do inBackground
publicvoidgetdata(String SearchValue)
{
// Create requestSoapObject request = newSoapObject(NAMESPACE2, METHOD_NAME2);
PropertyInfo pi4 = newPropertyInfo();
pi4.setName("City");
pi4.setValue(SearchValue);// get the string that is to be sent to the webservice
pi4.setType(String.class);
request.addProperty(pi4);
// Create envelopeSoapSerializationEnvelope envelope = newSoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
// Set output SOAP object
envelope.setOutputSoapObject(request);
// Create HTTP call objectHttpTransportSE androidHttpTransport = newHttpTransportSE(URL2);
try {
// Invole web service
androidHttpTransport.call(SOAP_ACTION2, envelope);
// Get the responseSoapPrimitive response = (SoapPrimitive) envelope.getResponse();
//Converting string to Array listArrayList<String> Servciecityname_arr= newArrayList<String>();
if ((response.toString()).contains("{"))
{
SoapObject rep = (SoapObject) envelope.bodyIn;
JSONArray jr = newJSONArray(rep.getPropertyAsString(0));
for (int i = 0; i < jr.length(); i++) {
JSONObject jb = (JSONObject) jr.get(i);
Cityname = jb.getString("CityName123");
Servciecityname_arr.add(Cityname);
}
CITYNAME = newString[Servciecityname_arr.size()];
CITYNAME = Servciecityname_arr.toArray(CITYNAME);
}
else
{
Status_Response = response.toString();
}
} catch (Exception e) {
Log.i(TAG2, "Error in catch");
e.printStackTrace();
}
}
Post a Comment for "How To Parse Data From Soap Envelope Object In Android"