¿Cómo puedo lanzar o deserializar SoapObject a mi objeto?

Tengo un WebService .Net que devuelve un objeto serializado simple.

Tengo el siguiente código para obtener respuesta de mi .Net webservice. ¿Cómo puedo deserializar XML devuelto a mi objeto?

Quiero devolver MyObject en lugar de SoapPrimitive.

private static SoapPrimitive callWebServiceMethod(String url, String namespace, String methodName, HashMap<String, Object> parameters, String soapAction) throws Exception { Log.i("WebService", "URL: " + url); Log.i("WebService", "MethodName: " + methodName); URL myurl = new URL(url); URLConnection connection = myurl.openConnection(); connection.setConnectTimeout(20 * 1000); HttpURLConnection httpConnection = (HttpURLConnection) connection; int responseCode = httpConnection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { httpConnection.disconnect(); SoapObject request = new SoapObject(namespace, methodName); if (parameters != null) { String[] keys = new String[0]; keys = (String[]) parameters.keySet().toArray(keys); Object[] vals = (Object[]) parameters.values().toArray(); for (int i = 0; i < parameters.size(); i++) { request.addProperty(keys[i], vals[i]); Log.i("WebService", keys[i] + ": " + vals[i]); } } SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11); envelope.dotNet = true; envelope.setOutputSoapObject(request); HttpTransportSE androidHttpTransport = new HttpTransportSE(url, TimeOutInSeconds * 1000); androidHttpTransport.call(soapAction, envelope); return (SoapPrimitive) envelope.getResponse(); } else { httpConnection.disconnect(); throw new Exception( "Http Error code: " + String.valueOf(responseCode)); } } 

No he entendido bien, pero creo que desea que su método debe devolver objeto de su clase personalizada en lugar de objeto SOAP.

Así que he hecho eso en mi función similar como esta ..

 SoapObject soapObject = (SoapObject) envelope.getResponse(); // SOAP Object realTimeUtil = new RealTimeUtil(); // CUSTOM Object of My Class if(soapObject.hasProperty("diffgram")) soapObject = (SoapObject) soapObject.getProperty("diffgram"); if(soapObject.hasProperty(clientName)){ soapObject = (SoapObject) soapObject.getProperty(clientName); for (int i = 0 ; i<soapObject.getPropertyCount(); i++){ if(soapObject.hasProperty(clientName)){ SoapObject soapObject1 = (SoapObject) soapObject.getProperty(i); if(soapObject1.hasProperty("Site")){ String site = soapObject1.getProperty("Site").toString(); String dateTime = soapObject1.getProperty("DateTime").toString(); String clicks =soapObject1.getProperty("Clicks").toString(); String orders = soapObject1.getProperty("Orders").toString(); String reveneue = soapObject1.getProperty("Revenue").toString(); String items = soapObject1.getProperty("Items").toString(); realTimeUtil.setSite(site); realTimeUtil.setClicks(clicks); realTimeUtil.setDateTime(dateTime); realTimeUtil.setOrders(orders); realTimeUtil.setRevenue(reveneue); realTimeUtil.setItem(items); } } } } return realTimeUtil; 

RealtimeUTil es una clase personalizada en mi aplicación con pocas variables y es métodos getter-setter.

  • Generar Java desde WSDL para usarlo en Android con el cliente SOAP ksoap2-android?
  • Cómo llamar a un servicio WCF usando ksoap2 en android?
  • Java.lang.ClassCastException: org.ksoap2.serialization.SoapPrimitive?
  • ¿Cuál es la forma correcta de integrar la biblioteca KSOAP en Android Studio?
  • Tener problemas para vincular un objeto ksoap a un ArrayList en Android
  • Enviar una imagen de Android a un servicio Web ASP.NET
  • ¿Cuál es el espacio de nombres, acción de jabón y url debería ser para mi aplicación Android acceder a servicio web wcf?
  • Android: SSLException Error de E / S durante la llamada al sistema, conexión agotada
  • Crear sobres de jabón con encabezado de seguridad en android utilizando ksoap2
  • KSOAP2: Cómo utilizar HttpsTransportSE?
  • Ksoap2 Android - ¿cómo especificar un espacio de nombres para las propiedades secundarias de un objeto complejo?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.