Ich arbeite an einem Code für SOAP-Webdienste. Ich möchte die Variationen der SOAP 1.1-, SOAP 1.2-, HTTP GET- und HTTP POST-Methoden für Android kennen, die unter diesen bevorzugt werden. Bitte veröffentlichen Sie ein Beispiel der Nutzungs-URL oder des Codes.
Vielen Dank
Antworten:
Unterschiede in SOAP-Versionen
Sowohl SOAP Version 1.1 als auch SOAP Version 1.2 sind W3C-Standards (World Wide Web Consortium). Es können Webdienste bereitgestellt werden, die nicht nur SOAP 1.1, sondern auch SOAP 1.2 unterstützen. Einige Änderungen gegenüber SOAP 1.1, die an der SOAP 1.2-Spezifikation vorgenommen wurden, sind erheblich, während andere Änderungen geringfügig sind.
Die SOAP 1.2-Spezifikation führt verschiedene Änderungen an SOAP 1.1 ein. Diese Informationen sind nicht als detaillierte Beschreibung aller neuen oder geänderten Funktionen für SOAP 1.1 und SOAP 1.2 gedacht. Stattdessen heben diese Informationen einige der wichtigeren Unterschiede zwischen den aktuellen Versionen von SOAP hervor.
Die wesentlichen Änderungen an der SOAP 1.2-Spezifikation umfassen die folgenden Aktualisierungen: SOAP 1.1 basiert auf XML 1.0. SOAP 1.2 basiert auf dem XML Information Set (XML Infoset). Der XML-Informationssatz (Infoset) bietet eine Möglichkeit, das XML-Dokument mit dem XSD-Schema zu beschreiben. Das Infoset serialisiert das Dokument jedoch nicht unbedingt mit der XML 1.0-Serialisierung, auf der SOAP 1.1 basiert. Diese neue Art der Beschreibung des XML-Dokuments hilft dabei, andere Serialisierungsformate wie ein Binärprotokollformat anzuzeigen. Sie können das Binärprotokollformat verwenden, um die Nachricht in ein kompaktes Format zu komprimieren, in dem einige der ausführlichen Tagging-Informationen möglicherweise nicht erforderlich sind.
In SOAP 1.2 können Sie die Angabe einer Bindung an ein zugrunde liegendes Protokoll verwenden, um zu bestimmen, welche XML-Serialisierung in den zugrunde liegenden Protokolldateneinheiten verwendet wird. Die in SOAP 1.2 - Teil 2 angegebene HTTP-Bindung verwendet XML 1.0 als Serialisierung des SOAP-Nachrichteninfosets.
SOAP 1.2 bietet die Möglichkeit, andere Transportprotokolle als HTTP offiziell zu definieren, sofern der Anbieter das in SOAP 1.2 definierte Bindungsframework einhält. Während HTTP allgegenwärtig ist, ist es nicht so zuverlässig wie andere Transporte, einschließlich TCP / IP und MQ. SOAP 1.2 bietet eine spezifischere Definition des SOAP-Verarbeitungsmodells, mit der viele der Unklarheiten beseitigt werden, die zu Interoperabilitätsfehlern führen können, wenn keine WS-I-Profile (Web Services-Interoperability) vorhanden sind. Ziel ist es, die Wahrscheinlichkeit von Interoperabilitätsproblemen zwischen verschiedenen Anbietern, die SOAP 1.2-Implementierungen verwenden, erheblich zu verringern. SOAP mit Attachments API für Java (SAAJ) kann auch als einfacher Mechanismus zum Ausgeben von SOAP-Anforderungen verwendet werden. Eine wesentliche Änderung der SAAJ-Spezifikation ist die Fähigkeit, SOAP 1.1-Nachrichten und den zusätzlichen SOAP 1 darzustellen. 2 formatierte Nachrichten. In SAAJ Version 1.3 wird beispielsweise eine neue Reihe von Konstanten und Methoden eingeführt, die SOAP 1.2 (z. B. getRole (), getRelay ()) für SOAP-Headerelemente besser förderlich sind. Es gibt auch zusätzliche Methoden in den Fabriken für SAAJ, um geeignete SOAP 1.1- oder SOAP 1.2-Nachrichten zu erstellen. Die XML-Namespaces für die Umschlag- und Codierungsschemata wurden für SOAP 1.2 geändert. Diese Änderungen unterscheiden SOAP-Prozessoren von SOAP 1.1- und SOAP 1.2-Nachrichten und unterstützen Änderungen im SOAP-Schema, ohne dass dies Auswirkungen auf vorhandene Implementierungen hat. Die Java-Architektur für XML-Webdienste (JAX-WS) bietet die Möglichkeit, sowohl SOAP 1.1 als auch SOAP 1.2 zu unterstützen. Da JAX-RPC die Anforderung einführte, eine SOAP-Nachricht während der Laufzeit zu bearbeiten, musste diese Nachricht in ihrem entsprechenden SOAP-Kontext dargestellt werden. In JAX-WS
Es gibt keine unterschiedliche POST AND GET-Methode für einen bestimmten Android ... aber hier gibt es nur Unterschiede
GET Die GET-Methode hängt Name / Wert-Paare an die URL an, sodass Sie eine Ressourcendarstellung abrufen können. Das große Problem dabei ist, dass die Länge einer URL begrenzt ist (ungefähr 3000 Zeichen), was zu Datenverlust führt, wenn Sie zu viel Material im Formular auf Ihrer Seite haben. Diese Methode funktioniert also nur, wenn es eine kleine Anzahl von Parametern gibt.
Was bedeutet das für mich? Grundsätzlich macht dies die GET-Methode für die meisten Entwickler in den meisten Situationen wertlos. Hier ist eine andere Sichtweise: Die URL könnte abgeschnitten werden (und wird höchstwahrscheinlich die heutigen datenzentrierten Websites enthalten), wenn das Formular eine große Anzahl von Parametern verwendet oder wenn die Parameter große Datenmengen enthalten. Außerdem sind die an die URL übergebenen Parameter im Adressfeld des Browsers (YIKES !!!) sichtbar. Dies ist nicht der beste Ort, um vertrauliche (oder sogar nicht vertrauliche) Daten anzuzeigen, da Sie nur den neugierigen Benutzer anflehen sich damit anlegen.
POST Die Alternative zur GET-Methode ist die POST-Methode. Diese Methode packt die Name / Wert-Paare in den Hauptteil der HTTP-Anforderung, wodurch eine sauberere URL entsteht und die Formularausgabe keinen Größenbeschränkungen unterliegt. Im Grunde ist dies ein Kinderspiel. POST ist auch sicherer, aber sicherlich nicht sicher. Obwohl HTTP CRUD vollständig unterstützt, unterstützt HTML 4 nur die Ausgabe von GET- und POST-Anforderungen über seine verschiedenen Elemente. Diese Einschränkung hat Webanwendungen daran gehindert, HTTP vollständig zu nutzen. Um dies zu umgehen, überlasten die meisten Anwendungen POST, um sich um alles andere als das Abrufen von Ressourcen zu kümmern.
Link zur ursprünglichen IBM Quelle
quelle
Das folgende von W3C veröffentlichte Dokument beschreibt auch die Unterschiede zwischen SOAP 1.1 und 1.2:
quelle