Skip to content Skip to sidebar Skip to footer

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"