SOAP + Https nutzen

  • 4 Antworten
  • Letztes Antwortdatum
M

marvegon

Neues Mitglied
0
Hallo,

ich will eine App schreiben, die über Https und SOAP mit einem Server kommuniziert um dort logins abzuwickleln und Daten zu empfangen. Ich habe mich schon ein bisschen eingelesen, und gelesen, dass Android gar kein SOAP unterstützen soll..

Das waren allerdings immer nur Posts von 2008/2009..Weiß jemand ob sich das mitlerweile geändert hat und ob Android mitlerweile SOAP von sich aus unterstüzt?

Und falls es nicht ünterstützt wird, weiß jemand wie ich das dennoch gut umsetzen kann? Sprich kann jemand eine library oder ähnlisches emphehlen, die man auch in kommerziellen apps verwenden darf?

grüße marvegon
 
Was heißt denn SOAP wird nicht unterstützt?
SOAP ist doch nix anderes als relativ simple HTTP(S) Abfragen und XML als Antwort.

Eclipse kann z.B. aus einer WSDL alle Klassen generieren um auf die SOAP Methoden zuzugreifen. Ka ob das dann auch in android direkt funktioniert oder ob du das noch anpassen musst.
Aber ich wüsste nicht was dagegen spricht.
Ich glaube Eclipse nutzt dann AXIS2 musst du nur die entsprechenden libs mit in dein projekt einfügen.

Wobei ich persönlich SOAP oftmals für zu "gesprächig" halte, also das dort zu viel unnötiger Overhead vorhanden ist.
Wenn du die Wahl hast würde ich REST nutzen mit JSON Daten. Meiner meinung nach vorallem auf mobil geräten oftmals die bessere Wahl.
 
Ich habe mir das jetzt mal angeschaut, allerdings habe ich leider starke Probleme gute Informationen zu dem Thema zu finden.

Ich bin auf die Library "ksoap2" gestoßen und habe dort auch schon ein paar Tests gemacht, habe dazu fast nur veraltete oder sehr schlecht erklärte Anleitungen gefunden, die es sehr sehr schwer machen das gezeigte Prinzip auf seine eigene App zu übertragen.

Von daher war mein aktueller ansatz jetzt einfach "manuell" eine XML-Datei zu erstellen und dort die nötigen sachen reinzuschreiben..Kann mir da einer Sagen was ich da alles reinpacken muss? Nach dem was ich gelesen habe würde so etwas ausreichen:

Code:
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

<soap:Body>
  <m:Login0Request xmlns:m="HierDieURL">
    <message name="HierDerMethodenName">
        <!-- parameter -->
  </message>
  </m:Login0Request >
</soap:Body>

</soap:Envelope>
Das ganze würde dann als "String" oder "Document" vorliegen.

Macht das so Sinn, oder würde das völlig daneben gehen?

PS:Das ganze MUSS leider über SOAP laufen, da der Server ebenfalls über SOAP läuft. Also REST oder ähnlisches kommen leider nicht in Frage, ansonsten hätte ich es schon lange über REST ausprobiert :)

grüße, Marvegon
 
Zuletzt bearbeitet:
Und wie gesagt Eclipse generiert dir das automatisch wenn du die WSDL datei hast.
Dann brauchst du dich eigentlich gar nicht mehr darum kümmern.

Du nutzt dann nur ein Objekt auf dem du methoden ausführst wie z.B. login("username","password").
fertig.
 
Zurück
Oben Unten