Ksoap2 casting getResponse ()

Llamar a un servicio web .net SOAP1.1 desde android usando ksoap2 lib Encontré un problema de respuesta de casting a un objeto personalizado. Por ejemplo, el código siguiente se llama correcto después de httpTransport.call (soapAction, soapEnvelope); Y tienen datos dentro. Pero no puedo lanzarlo a un objeto específico ni a SoapObject o Vector como he visto en varios ejemplos, obtengo CastException o nada simple. Si alguien sabe cómo tratar con ella, por favor ayuda.

public StatusSetting[] GetAllStatuses(String installation){ StatusSetting[] statuses = null; String methodName = "GetAllStatuses"; String soapAction = NAMESPACE + "/" + methodName; SoapObject request = new SoapObject(NAMESPACE, methodName); request.addProperty("installation", installation); SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); soapEnvelope.dotNet = true; soapEnvelope.setOutputSoapObject(request); AndroidHttpTransport httpTransport = new AndroidHttpTransport(SERVICE_URL); try { httpTransport.call(soapAction, soapEnvelope); statuses = (StatusSetting[])soapEnvelope.getResponse(); } catch (Exception e) { e.printStackTrace(); } return statuses; } 

En primer lugar tratar de ver si usted está recibiendo cualquier respuesta.

 Object obj = envelope.bodyIn; 

Si este obj no es nulo, intente lo siguiente.

 SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn; 

Mi conjetura es esto debe trabajar si usted está consiguiendo una cierta respuesta.

Debe informar a kSOAP qué objeto StatusSetting es y how convertir una respuesta SOAP en un objeto StatusSetting .

Espero que esto sea útil para usted:

 SoapObject result = (SoapObject) envelope.bodyIn; String response = result.getProperty(0).toString(); 

algo como eso:

 SoapObject response = (SoapObject) envelope.getResponse(); yourArray=new String[response.getPropertyCount()]; for(int i=0;i<response.getPropertyCount();i++){ Object property = response.getProperty(i); if(property instanceof SoapObject){ SoapObject final_object = (SoapObject) property; yourArray[i] = final_object.getProperty("YOUR_PROPERTY_NAME"); } } 
  • Cómo utilizar parámetros con HttpPost
  • Pase y reciba el objeto JSON de Jersey Resftul webservice desde android
  • Poner byte en JSON en android
  • Recomendaciones para el formato / protocolo de .NET Web Service para Android, iPhone, etc.
  • Android Obtener archivo pdf como resultado de httppost
  • ¿Cómo puedo recibir notificaciones múltiples usando GCM sin reemplazar la precedente?
  • Cómo obtener actualizaciones en vivo a través de JSON a listview
  • Utilizar el cursor para consultar desde el motor de aplicaciones de Google en android
  • JDBC vs Servicio Web para Android
  • Bloquear usuarios no Android que llaman al servicio JSON
  • Servicios web de Android con KSOAP2 y HTTPS
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.