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; }
- Cómo alojar un servicio web java RESTful para la aplicación android
- Enfoque de diseño: android and web service
- Autenticación de Facebook para el servicio JSON con la aplicación Android
- Cómo hacer que el servicio Web ASP.NET Web API esté disponible en la red local
- Transferir datos de ArrayList al servicio web SOAP en android
- No se puede llamar a REST API en android
- Asegurar la comunicación desde Android a un servicio web
- Conexión a un servicio web desde una aplicación de Android con seguridad
- ¿Cómo llamar a un servicio web RESTful de Android?
- En caché JSON de webservice en android - patrón?
- ¿Pasar datos a los servicios web .net y obtener resultados?
- Bouncy Castle Keystore (BKS): java.io.IOException: Versión incorrecta del almacén de claves
- Creación de servicio web para aplicaciones de Android
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 leer el archivo de registro del sistema en Android?
- NullPointerException lanzado en Eclipse al intentar abrir la vista de Android XML?