Wie man Session abhängige WCF-Dienste mit Ksoap2-Android verbraucht

Ich verwende Ksoap2-Android für den Konsum der WCF Services.

Für den Dotnet-Client halten wir die allowCookies="true" in unserer verbindlichen Konfiguration und es sendet die gleiche sessionid und hält meine Sitzungen intakt in meinem WCF-Dienste ( Meine Dienste sind voneinander abhängig und verwenden die Sitzungen ).

  • Ist es möglich, einen Android Animator zu verwenden, um einen DialogFragment Eintrag zu animieren?
  • EditText-Hinweis zeigt zusätzliche Leerzeichen, wenn inputType = "textpassword"
  • HttpResponse zu String Android
  • Firefox-Quellcode für Android
  • Android - NullPointerException von der Erstellung eines Adapters
  • Android: Stifte TabLayout zum Scrollview
  • Jeder kennt eine solche Einstellung für ksoap2-android , die es mir erlauben wird, den WCF-Service zu konsumieren, der meine Sitzung auf dem Server intakt hält.

    Derzeit, wenn ich einen neuen Anruf zum Service sessionid , wird die sessionid geändert und alle meine Session-Variablen löschen und verlieren ihre Werte.

  • So erstellen Sie eine Social Network App auf Android
  • Android kann kein H264 / AAC Video abspielen
  • Unterschied zwischen SurfaceView und View?
  • Force ein Android-Handy zu schlafen, um zu testen?
  • Android - FragmentTabHost gibt mir "Kein Tab bekannt für Tag null"
  • Holen Sie sich Bild Uri in onActivityResult nach dem Foto?
  • One Solution collect form web for “Wie man Session abhängige WCF-Dienste mit Ksoap2-Android verbraucht”

    In C # Ich mache die nächste, nur die Android-Methoden, dies zu tun:

    1.- Machen Sie die Http-Anfrage, 2.- Machen Sie einen Cookie-Container der ersten Anfrage. 3.- Setzen Sie den cookieContainer über die zweite Anfrage, zum Beispiel können Sie in ein Bündel in eine Absicht für die 2. Aktivität, und verwenden Sie diese Cookies für senden die zweite http-Anfrage …

    Mein C # Code;

     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); } } } 

    Ich mache das, um die SesionID der ersten Bitte zu behalten, und später, in der zweiten Anfrage, füge ich den cookieContainer hinzu (weil der Server mich verlangt) (um eine Bot-Suche zu machen);) … hoffe das gibt dir Ideen.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.