Android ksoap2 a través de https
¿alguien ha podido conectarse a un servidor de jabón usando ksoap2 android a través de https?
Sigo recibiendo el error de que "Hostname <###> no se ha verificado"
- KSoap2 SoapObject Object Reference no establecido en una instancia
- Analizar la respuesta de KSoap2 en android
- Cuándo usar Soapobject y SoapPrimitive
- KSoap2 y KvmSerializable-Envía el objeto de clase con un campo de lista a webservice en java android
- SOapObject emite Android
estoy haciendo
AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport (URL); androidHttpTransport.call(SOAP_ACTION, envelope);
aparentemente mirando hacia atrás en otro ksoap que no es para android su ment a nosotros una llamada diferente para conectarse a través de https, pero no puedo encontrar una manera de hacerlo en la versión de Android.
¿Alguien encontró una manera acerca de o conocer el im im de llamada para usar?
Gracias por tu ayuda
- Serialice una matriz de ints para enviar usando KSOAP2
- Pasar objetos al servicio de jabón wcf desde android usando ksoap2; Envía y recibe 0
- Servicio web con KSOAP
- Android con servicio web de WCF usando ksoap2 - error SoapFault - código de error: 'a: ActionNotSupported'
- .net servicio web que returing NULL objetos en el inicio de datos
- KSOAP 2 Android con HTTPS
- KSOAP2: Cómo utilizar HttpsTransportSE?
- Eliminación del campo i: type en la solicitud SOAP generada por kSoap2 en Android
android ksoap2 2.5.2 está fuera que admite https
http://code.google.com/p/ksoap2-android/
el problema es que no estoy muy seguro de cómo usarlo
HttpsTransportSE aht = new HttpsTransportSE(host, port, file, timeout)
lo que shoud i entrar para el "archivo" parámetro? Alguien tiene alguna idea?
btw AndroidHttpTransport está obsoleto en la última versión de ksoap2
Bueno, tendrás que hacer dos cosas en dispositivos Android:
- Para SSL, debe confiar en el certificado del servidor. Puede instalar un administrador de confianza falso como aquí ( http://groups.google.com/group/android-developers/browse_thread/thread/1ac2b851e07269ba/c7275f3b28ad8bbc?lnk=gst&q=certificate y luego llamar a allowAllSSL () antes de hacer cualquier SSL communication / call to ksoap2) o poner un poco más de esfuerzo en esto, hacerlo más seguro y seguir las instrucciones de saxos, supongo.
- Entonces necesitas usar ksoap2-android o más específicamente la clase (KeepAlive) HttpsTransportSE como este
new KeepAliveHttpsTransportSE(host, port, file, timeout);
. Los parámetros van a un objeto de URL, por ejemplo, para acceder a una instalación de Jira es algo así comonew KeepAliveHttpsTransportSE("host.whatever", 443, "/rpc/soap/jirasoapservice-v2", 1000)
Btw .: Escribí en "Dispositivos Android", porque me resulta útil probar las cosas primero en un entorno J2SE y aquí el material (KeepAlive) HttpsTransportSE falta en la lib (usé ksoap2-j2se-full-2.1.2 .tarro). Basta con obtener las fuentes de las tres clases HttpsTransportSE, KeepAliveHttpsTransportSE y HttpsServiceConnectionSE de ksoap2-android y ponerlas en su proyecto J2SE y usarlas. Funciona y es una mejora de la productividad para obtener los primeros pasos con un servicio web desconocido (si conoce el servicio web y cómo ajustar ksoap2, es de ninguna utilidad, pero fue útil para mí, ya que era nuevo en ksoap2 y su android escindir).
Puede establecer el nombre de archivo como cadena vacía (""). Mirando el código fuente de ksoap pasa el parámetro a java.net.URL y desde el Sun Javadoc se refiere a archivo – "el archivo en el host". He renunciado a intentar usar ksoap2 para llamadas https de SOAP. El problema es con la forma en que Android procesa las conexiones SSL. La única solución parece estar creando un almacén de claves local para almacenar el certificado SSL y escribir un contenedor alrededor del Httpclient de Apache para usar el certificado. Así que también podría implementar estas llamadas usando REST. Supongo que eso es lo que Google quiere que hagamos.
- Obtener posición absoluta para un desplazamiento dado en TextView (Android)
- Invocar una llamada de escucha programáticamente en android