Cómo consumir servicios WCF dependientes de la sesión usando Ksoap2-Android

Estoy usando Ksoap2-Android para consumir los servicios de WCF .

Para el cliente allowCookies="true" mantenemos allowCookies="true" en nuestra configuración de enlace y envía el mismo sessionid y mantiene mis sesiones intactas en mis servicios de WCF ( Mis servicios son interdependientes y usan las sesiones ).

Cualquiera conoce alguno de estos ajustes para ksoap2-android , que me permitirá consumir el servicio WCF manteniendo mi sesión intacta en el servidor.

Actualmente cuando hago una nueva llamada al servicio, el sessionid se cambia y todas mis variables de la sesión despejan y pierden sus valores.

En C # i hacer el siguiente, sólo tiene que utilizar los métodos de Android para hacer esto:

1.- Hacer la solicitud Http, 2.- Hacer un contenedor de cookies de la primera solicitud. 3.- Ponga el cookieContainer sobre la segunda solicitud, por ejemplo, puede poner en un paquete en una intención para la segunda actividad, y utilizar estas cookies para enviar la segunda solicitud http …

Mi C # Código;

 protected static void GetData() { CookieContainer cookies = new CookieContainer(); HttpWebRequest request1 = (HttpWebRequest)WebRequest.Create("https://any.com/url"); request1.CookieContainer = cookies; HttpWebResponse response1 = (HttpWebResponse)request1.GetResponse(); StreamReader responseReader1 = new StreamReader(response1.GetResponseStream()); Response1 = responseReader1.ReadToEnd(); responseReader1.Close(); responseReader1.Dispose(); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); request.CookieContainer = cookies; request.Method = "GET"; request1.KeepAlive = true; try { HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader responseReader = new StreamReader(response.GetResponseStream()); Response = responseReader.ReadToEnd(); responseReader.Close(); responseReader.Dispose(); if (Response.Contains("Server Error in '/Verification' Application.")) { Console.WriteLine("Empty Registry" + Url); } } catch (WebException ex) { if (ex.Response != null) { Console.WriteLine("Failed at: " + Url); } if (ex.Status == WebExceptionStatus.ProtocolError) { if (((HttpWebResponse)ex.Response).StatusCode == HttpStatusCode.NotFound) { Console.WriteLine(ex.Status); } } else if (ex.Status == WebExceptionStatus.NameResolutionFailure) { Console.WriteLine(ex.Status); } } } 

Hago eso para guardar el sesionID de la primera petición, y más adelante, en la segunda petición, agrego el cookieContainer (porque el servidor me requiere) (para hacer una búsqueda del bot);) … espero que esto le dé ideas.

  • Saltos de línea con WCF, JSON y un cliente que no sea Windows
  • Consumir servicio WCF en android
  • Cómo llamar a un servicio WCF usando ksoap2 en android?
  • Wcf progressive descargar
  • ¿Cómo hacer SSO basada en reclamaciones para aplicaciones Android e IPhone usando ADFS STS?
  • WCF vs WEB api vs Web servicios para el nuevo sitio web de comercio electrónico
  • Envío de una solicitud JSON HTTP POST desde Android
  • Consumir un servicio WCF localhost utilizando kSOAP2 en el emulador
  • Android Value ... de tipo java.lang.String no se puede convertir a JSONArray
  • Ksoap2 Android - ¿cómo especificar un espacio de nombres para las propiedades secundarias de un objeto complejo?
  • Recomendaciones para el formato / protocolo de .NET Web Service para Android, iPhone, etc.
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.