java client - Was ist der Unterschied zwischen SOAP 1.1, SOAP 1.2, HTTP GET und HTTP POST-Methoden für Android?




1 Answers

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 von SOAP 1.1, die an der SOAP 1.2-Spezifikation vorgenommen wurden, sind signifikant, während andere Änderungen geringfügig sind.

Die SOAP 1.2-Spezifikation führt einige Änderungen an SOAP 1.1 ein. Diese Information soll keine eingehende Beschreibung aller neuen oder geänderten Funktionen für SOAP 1.1 und SOAP 1.2 sein. Diese Information hebt stattdessen einige der wichtigeren Unterschiede zwischen den aktuellen SOAP-Versionen hervor.

Die Änderungen an der SOAP 1.2-Spezifikation, die signifikant sind, umfassen die folgenden Aktualisierungen: SOAP 1.1 basiert auf XML 1.0. SOAP 1.2 basiert auf 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 Methode zur Beschreibung des XML-Dokuments hilft dabei, andere Serialisierungsformate, z. B. ein binäres Protokollformat, aufzudecken. Sie können das binäre Protokollformat zum Komprimieren der Nachricht in ein kompaktes Format verwenden, in dem einige der ausführlichen Tagging-Informationen möglicherweise nicht erforderlich sind.

In SOAP 1.2 können Sie die Spezifikation einer Bindung an ein zugrunde liegendes Protokoll verwenden, um zu bestimmen, welche XML-Serialisierung in den zugrunde liegenden Protokolldateneinheiten verwendet wird. Die HTTP-Bindung, die in SOAP 1.2 - Teil 2 angegeben ist, verwendet XML 1.0 als Serialisierung des SOAP-Nachrichten-Infosets.

SOAP 1.2 bietet die Möglichkeit, Transportprotokolle mit Ausnahme von HTTP offiziell zu definieren, sofern der Anbieter dem in SOAP 1.2 definierten Bindungsframework entspricht. 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, das viele Unklarheiten beseitigt, die zu Interoperabilitätsfehlern führen können, wenn keine WS-I-Profile (Web Services-Interoperability) vorhanden sind. Das Ziel besteht darin, die Wahrscheinlichkeit von Interoperabilitätsproblemen zwischen verschiedenen Anbietern, die SOAP 1.2-Implementierungen verwenden, erheblich zu reduzieren. SOAP mit Attachments-API für Java (SAAJ) kann auch als eigenständiger Mechanismus zum Ausgeben von SOAP-Anforderungen verwendet werden. Eine wesentliche Änderung der SAAJ-Spezifikation ist die Möglichkeit, SOAP 1.1-Nachrichten und die zusätzlichen SOAP 1.2-formatierten Nachrichten darzustellen. Zum Beispiel führt SAAJ Version 1.3 eine neue Reihe von Konstanten und Methoden ein, die für SOAP 1.2 förderlicher sind (wie getRole (), getRelay ()) auf SOAP-Header-Elementen. Es gibt auch zusätzliche Methoden in den Fabriken für SAAJ, um entsprechende SOAP 1.1- oder SOAP 1.2-Nachrichten zu erstellen. Die XML-Namespaces für die Envelope- und Encoding-Schemas 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 bestehende Implementierungen zu beeinträchtigen. Die Java-Architektur für XML-Webdienste (JAX-WS) ermöglicht die Unterstützung von SOAP 1.1 und SOAP 1.2. Da JAX-RPC eine Anforderung zum Bearbeiten einer SOAP-Nachricht während der Ausführung der Laufzeit einführte, musste diese Nachricht in ihrem entsprechenden SOAP-Kontext dargestellt werden. In JAX-WS ergeben sich durch die Unterstützung von SAAJ 1.3 eine Reihe zusätzlicher Verbesserungen.

Es gibt nicht difine POST AND GET Methode für bestimmte Android .... aber alles hier ist differance

GET Die Methode GET 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 auf Ihrer Seite viel Zeug im Formular haben müssen. Diese Methode funktioniert nur, wenn es nur wenige Parameter gibt.

Was bedeutet das für mich? Dies macht die GET-Methode für die meisten Entwickler in den meisten Situationen wertlos. Hier ist eine andere Betrachtungsweise: Die URL könnte gekürzt werden (und höchstwahrscheinlich werden die heutigen datenzentrischen Sites angegeben), wenn das Formular eine große Anzahl von Parametern verwendet oder wenn die Parameter große Datenmengen enthalten. Außerdem sind Parameter, die an die URL weitergegeben werden, im Adressfeld des Browsers sichtbar (YIKES !!!), nicht der beste Ort für irgendwelche sensiblen (oder sogar nicht sensitiven) Daten, die angezeigt werden, weil Sie gerade den neugierigen Benutzer anflehen damit umgehen.

POST Die Alternative zur GET-Methode ist die POST-Methode. Diese Methode packt die Name / Wert-Paare in den Hauptteil der HTTP-Anfrage, was für eine sauberere URL sorgt und der Formularausgabe keine Größenbeschränkungen auferlegt, im Grunde ist es ein Kinderspiel, welche zu verwenden. POST ist auch sicherer, aber sicher nicht sicher. Obwohl HTTP CRUD vollständig unterstützt, unterstützt HTML 4 nur die Ausgabe von GET- und POST-Anfragen über seine verschiedenen Elemente. Diese Einschränkung hat Webanwendungen daran gehindert, HTTP vollständig zu nutzen, und um es zu umgehen, überladen die meisten Anwendungen POST, um sich um alles zu kümmern, außer um Ressourcenabruf.

Link zur ursprünglichen IBM Quelle

tutorial ksoap2

Ich arbeite an einem Code für SOAP Web Services, ich möchte die Variationen in SOAP 1.1, SOAP 1.2, HTTP GET und HTTP POST Methoden für Android kennen, und welche ist die bevorzugte unter ihnen. Bitte sende ein Beispiel seiner Nutzungs-URL oder seines Codes.

Vielen Dank




Related