2011-01-10 18 views
5

ich vor in VS 2008 meinen ersten Web-Service 2 Tage erstellt und dachte darüber raubend, wenn ich über die folgenden Fragen zu Web-Service kam:HTTP SOAP GET POST

1) Meine Web-Service-Test Invocation Seite (vordefinierte Seite, die als Teil von .NET-Framework geliefert wird) zeigt keine Beispiel-HTTP-GET-Anforderung \ Antwortnachrichten an. Die einzigen angezeigten Nachrichten sind HTTP POST, SOAP 1.1 und SOAP 1.2. Soll ich davon ausgehen, dass Web-Services die Verwendung des HTTP-GET-Protokolls zum Aufrufen nicht fördern?

2) Um einen HTTP-POST-Aufruf über den Browser durchzuführen, habe ich eine Beispiel-HTML-Seite erstellt. Kann ich dasselbe tun, um auch einen HTTP-SOAP-Beispielanruf zu machen? Wenn ja, wäre die Antwort im SOAP-Format? Kann mir jemand eine solche HTML-Seite schicken?

3) Wie senden wir Informationen zum Host-Header, während Sie über einen Browser einen Webservice anrufen?

4) Warum nennen wir es einen 'HTTP-SOAP-Aufruf', wenn wir mit der POST-Methode (method = 'post') einen Webservice anrufen?

5) Warum sollte HTTP-SOAP Vorrang vor HTTP-GET und HTTP-POST haben?

Danke und Milan Grüße

Antwort

0

Zunächst einmal können Sie einen Fehler gemacht haben. Haben Sie einen Dienst mit der Erweiterung .ASMX erstellt?

Das ist ein alter "ASMX" -Webservice und sollte nicht für Neuentwicklungen verwendet werden, außer Sie haben keine Wahl. WCF sollte für alle Neuentwicklungen verwendet werden.

Zweitens kann GET nicht verwendet werden, um komplexe Typen an den Dienst zu senden, da es die Parameter in die Abfragezeichenfolge platziert. POST, ist eigentlich von wenig Nutzen, außer für die Testseite (es kann auch keine komplexen Typen senden).

Das einzige, was wirklich wichtig für solch einen Service ist, ist SOAP. Sie sollten eine Client-Anwendung irgendeiner Art erstellen, um sie zu testen, vielleicht eine Reihe von Komponententests.

7

Standard-SOAP-Dienste verwenden nur HTTP-POST, da sie eine komplexe SOAP-Anforderung (XML) erfordern, die nicht in die Abfragezeichenfolge aufgenommen werden kann.

Wenn Sie Ihren SOAP-Service über eine Webseite aufrufen möchten, muss Ihre Seite eine gültige SOAP-Anfrage erstellen. Aus diesem Grund werden SOAP-Aufrufe normalerweise von automatisch generierten Service-Clients auf der Serverseite erstellt.

Wir können es HTTP-SOAP nennen, weil es eine SOAP-Anfrage ist, die vom HTTP-Protokoll mit der POST-Methode transportiert wird.

Es hat keinen Vorrang. So funktionieren SOAP-Dienste normalerweise. Wenn Sie HTTP GET und HTTP POST verwenden möchten, sollten Sie REST-Dienste prüfen.

+0

Danke für die Antwort. Aber in IE6 habe ich Beispiel-HTTP-GET-Anforderungs- und Antwortnachrichten zusammen mit HTTP-POST- und HTTP-SOAP-Anforderungs- und Antwortnachrichten auf der Testaufrufseite erhalten. Warum ist es jetzt nicht sichtbar? –

+0

Nach Priorität wollte ich fragen, was sind die Vorteile von SOAP über GET und POST. \ –

+1

@ Mailand GET und POST sind Methoden des HTTP-Transportprotokolls. SOAP ist ein Kommunikationsprotokoll, das über HTTP verwendet werden kann. –