Я работаю над приложением для Android, в котором мне нужно получать данные из веб-службы .Net. Первоначально методы веб-сервиса возвращают простые строки. Это нормально, мой код работает нормально и извлекает строки плавно. Но моя проблема начинается, когда методы возвращают объектыЯ знаю, что объект содержит данные в форме XML. Я также подтвердил это отладкой своего кода, результирующий объект содержит данные, приведенные ниже.
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<UserInfoResponse xmlns="http://tempuri.org/">
<UserInfoResult>
<UserName>Himanshu</UserName>
<Email>Himanshu@XXXXXXXX.com</Email>
</UserInfoResult>
</UserInfoResponse>
</soap:Body>
</soap:Envelope>
и мой код для использования веб-службы: -
public void objData(){
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME2);
Log.d("request", request.toString());
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
Log.d("envelope", envelope.toString());
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
Log.d("envelope", envelope.toString());
HttpTransportSE aht = new HttpTransportSE(URL);
aht.debug=true;
Log.d("aht", aht.toString());
try
{
aht.call(OBJ_SOAP_ACTION, envelope);
SoapPrimitive results = (SoapPrimitive)envelope.getResponse();
System.out.println("results="+results);
tv4.setText(""+results);
}
catch (Exception e)
{
tv4.setText(e.getClass().toString());
Log.d("Error",e.getClass().toString());
}
}
Объект results
содержит данные XML. Теперь моя проблема заключается в том, что при печати данныхэтот объект с помощью кода tv4.setText(""+results);
дает мне class java.lang.ClassCastException
. Я знаю, что это неправильный подход для получения XML-данных объекта, я должен его проанализировать. Но я не знаю, как анализировать объект. Так что, пожалуйста, помогите мнеДля анализа xml содержал объект. Любая помощь будет высоко ценится. Спасибо заранее.