with studio soapobject servicios example desde consumir acceso android wcf session ksoap2

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



ksoap2-android-assembly-3.4.0-jar-with-dependencies.jar download (1)

En C # hago lo siguiente, solo usa los métodos de Android para hacer esto:

1.- Realiza la solicitud de Http, 2.- Crea un Contenedor de Galletas de la primera solicitud. 3.- Ponga el cookieContainer sobre la segunda solicitud; por ejemplo, puede agrupar un paquete en una intención para la segunda actividad y utilizar estas cookies para enviar la segunda solicitud http ...

Mi código de C #;

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 mantener el sesionID de la primera solicitud, y luego, en la segunda solicitud, agrego el cookieContainer (porque el servidor me requiere) (para hacer una búsqueda de bot);) ... espero que esto te dé ideas.

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 WCF ( Mis servicios son interdependientes y uso las sesiones ).

Cualquiera conoce una configuración de este tipo para ksoap2-android , que me permitirá consumir el servicio WCF manteniendo mi sesión intacta en el servidor.

Actualmente, cuando realizo una nueva llamada al servicio, el sessionid se modifica y todas mis variables de sesión se borran y pierden sus valores.