Ksoap2 Android tipo inesperado en respuesta
Estoy tratando de hacer una llamada a un servicio web java usando ksoap2. Estoy usando el ksoap2-android-assembly-2.6.5-jar-with-dependencies.jar y Android API de nivel 8.
Código de actividad:
- Fuera de memoria en una asignación de bytes (Bitmap como String al servicio web con jabón)
- ¿Cómo puedo lanzar o deserializar SoapObject a mi objeto?
- "AndroidHttpTransport no se puede resolver a un tipo" error en ksoap2
- Servicio web con KSOAP
- No se pueden serializar las fechas con ksoap2
private static final String SECURITY_NAMESPACE = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"; private static final String USERNAME_TOKEN_NAMESPACE = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"; private static final String PASSWORD_TYPE = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); Element usernameElement = new Element().createElement(SECURITY_NAMESPACE, "Username"); usernameElement.addChild(Node.TEXT, "username"); Element passwordElement = new Element().createElement(SECURITY_NAMESPACE, "Password"); passwordElement.setAttribute(null, "Type", PASSWORD_TYPE); passwordElement.addChild(Node.TEXT, "password"); Element usernameTokenElement = new Element().createElement(USERNAME_TOKEN_NAMESPACE, "UsernameToken"); usernameTokenElement.addChild(Node.ELEMENT, usernameElement); usernameTokenElement.addChild(Node.ELEMENT, passwordElement); Element securityElement = new Element().createElement(SECURITY_NAMESPACE, "Security"); securityElement.setAttribute(null, "mustUnderstand", "1"); securityElement.setPrefix(null, SECURITY_NAMESPACE); securityElement.addChild(Node.ELEMENT, usernameTokenElement); Element[] header = new Element[]{securityElement}; SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.headerOut = header; envelope.setOutputSoapObject(request); HttpTransportSE httpTransport = new HttpTransportSE(URL); httpTransport.debug = true; try{ httpTransport.call(SOAP_ACTION, envelope); SoapObject response = (SoapObject) envelope.getResponse(); }catch (Exception e) { Log.e("Soap", e.getMessage(), e); }
Cuando hago la llamada me sale la siguiente excepción:
06-12 13:01:51.563: E/Soap(471): unexpected type (position:TEXT U n ...@3:97 in java.io.InputStreamReader@44f5de78) 06-12 13:01:51.563: E/Soap(471): org.xmlpull.v1.XmlPullParserException: unexpected type (position:TEXT U n ...@3:97 in java.io.InputStreamReader@44f5de78)
¿Alguna idea de que puede estar causando esto? ¿Podría ser algo que ver con la codificación de caracteres, GZIP o versión de jabón incorrecta?
Cualquier ayuda sería muy apreciada.
Gracias David
- ¿Cómo enviar una solicitud de jabón en android?
- Comprobación del sobre con Ksoap2 (Android)
- .net servicio web que returing NULL objetos en el inicio de datos
- Cómo llamar a un Webservice .NET de Android usando KSOAP2?
- Cómo llamar a un servicio WCF usando ksoap2 en android?
- Serialice una matriz de ints para enviar usando KSOAP2
- Cómo consumir servicios WCF dependientes de la sesión usando Ksoap2-Android
- Ksoap2: java.lang.IllegalArgumentException: size <= 0 mientras hace una http.call
Tuve el mismo problema cuando estoy usando ksoap2 2.6.5. Lo arreglé con ver. 2.5.4
- Google Mobile Services (GMS): NullPointerPointerException de llamar a String.toLowerCase (java.util.Locale)
- Admob bloquea nuestra aplicación con NullPointerException en DeviceMotionService