Vorgehensweise: Zugreifen auf XML-Webdienste von einem Browser aus
Dieses Thema bezieht sich auf eine veraltete Technologie. XML-Webdienste und XML-Webdienstclients sollten nun mithilfe der folgenden Technologie erstellt werden: Windows Communication Foundation.
Nachdem Sie einen mit ASP.NET erstellten Webdienst veröffentlicht haben, können Sie seine Funktionalität testen, indem Sie ihn mit einem Browser über HTTP-GET oder HTTP-POST aufrufen. Greifen Sie in einem Browser auf die ASMX-Datei zu, und klicken Sie dann auf Hyperlinks zu den Webdienstmethoden, oder greifen Sie direkt auf einzelne Methoden zu, indem Sie eine Abfragezeichenfolge an die URL der ASMX-Datei anfügen.
Hinweis: |
---|
Standardmäßig kann ein mit ASP.NET erstellter Webdienst mehrere Protokolle unterstützen, z. B. SOAP über HTTP und Implementierungen von HTTP-GET und HTTP-POST, bei denen in der Antwort nicht SOAP-kompatibles XML zurückgegeben wird. |
So testen Sie einen Webdienst mithilfe von HTTP-GET in einem Browser
Stellen Sie den Webdienst auf einem Webserver bereit. Weitere Informationen finden Sie unter XML-Webdienstveröffentlichung und -bereitstellung.
Öffnen Sie einen Webbrowser, und geben Sie die URL für den Webdienst in die Adressleiste ein. Verwenden Sie hierbei das folgende Format:
https://servername/apppath/webservicename.asmx
Pfad Wert servername
Der Name des Servers, auf dem der Webdienst bereitgestellt wurde.
Apppath
Der Name des virtuellen Verzeichnisses mit den Pfadangaben zur Webanwendung.
webservicename.asmx
Der Name der ASMX-Datei für den Webdienst.
Angenommen, Sie haben einen Webdienst mit dem Namen
StockServices
veröffentlicht. Nach der Veröffentlichung lautet die Basis-URL für diesen Dienst http://<servername>/apppath/StockServices.asmx. Sie könnten diesen Dienst testen, indem Sie diese HTTP-GET-Anforderung in die Adressleiste des Browsers eingeben:http://<servername>/apppath/StockServices.asmx
Der Server zeigt als Reaktion auf diese Anforderung die HTML-Beschreibungsseite des Webdiensts an.
Die HTML-Beschreibungsseite des Webdiensts enthält alle Webdienstmethoden, die von einem bestimmten Webdienst unterstützt werden. Stellen Sie eine Verknüpfung mit der gewünschten Webdienstmethode her, und geben Sie die notwendigen Parameter ein, um die Methode zu testen und die XML-Antwort zu sehen.
So testen Sie eine Webdienstmethode direkt mithilfe von HTTP-GET in einem Browser
Stellen Sie den Webdienst auf einem Webserver bereit. Weitere Informationen finden Sie unter XML-Webdienstveröffentlichung und -bereitstellung.
Öffnen Sie einen Webbrowser, und geben Sie die URL für die Webdienstmethode in die Adressleiste ein. Verwenden Sie hierbei folgendes Format:
https://servername/vdir/webservicename.asmx/Methodname?parameter=value
Parameter Wert servername
Der Name des Servers, auf dem der Webdienst bereitgestellt wurde.
Apppath
Der Name des virtuellen Verzeichnisses mit den Pfadangaben zur Webanwendung.
webservicename.asmx
Der Name der ASMX-Datei für den Webdienst.
Methodname
Der Name einer öffentlichen Methode, die vom Webdienst verfügbar gemacht wird. Falls keine Eingabe erfolgt, wird die Beschreibungsseite des Webdiensts angezeigt, in der alle in der ASMX-Datei verfügbaren öffentlichen Methoden aufgelistet sind. (Optional)
parameter
Der entsprechende Parametername und Wert für alle Parameter, die von der Methode benötigt werden. Falls keine Eingabe erfolgt, wird die Beschreibungsseite des Webdiensts angezeigt, in der alle in der ASMX-Datei verfügbaren öffentlichen Methoden aufgelistet sind. (Optional)
Hinweis: Beim Namen der Webdienstmethode wird in dieser Syntax zwischen Groß- und Kleinschreibung unterschieden. Auf die Namen von Server, Projekt und Webdienst trifft dies nicht zu. Angenommen, der Webdienst
StockServices
aus dem vorherigen Abschnitt enthält eine Webdienstmethode namensGetQuote
. Die Webdienstmethode akzeptiert ein Börsensymbol als Parameter und gibt den Preis als Gleitkommazahl mit doppelter Genauigkeit zurück. Geben Sie die folgende HTTP-GET-Anforderung in die Adressleiste des Browsers ein, um diese Methode zu testen:http://<servername>/apppath/StockServices.asmx/GetStockQuote?tickerName=MSFT
Der Server sendet eine Antwort, die ein XML-Dokument enthält, das im Browser angezeigt wird. Im Beispiel
GetQuote
enthält das XML-Dokument den aktuellen Preis der angeforderten Aktien. Das Ergebnis könnte folgendermaßen aussehen:<?xml version="1.0" ?>
<double>74.5</double>
So testen Sie einen Webdienst mithilfe von HTTP-POST in einem Browser
Stellen Sie den Webdienst auf einem Webserver bereit. Weitere Informationen finden Sie unter XML-Webdienstveröffentlichung und -bereitstellung. In diesem Verfahren wird als Beispiel der folgende Webdienst verwendet, der in der Datei math.asmx bereitgestellt wird. Auf diese Datei kann über den virtuellen Stamm der Site https://www.contoso.com zugegriffen werden:
<%@ WebService Language="C#" Class="Math" %> using System.Web.Services; public class Math : WebService { [ WebMethod ] public int Add(int num1, int num2) { return num1+num2; } [ WebMethod ] public int Subtract(int num1, int num2) { return num1-num2; } }
<%@ WebService Language="VB" Class="Math" %> Imports System.Web.Services Public Class Math Inherits WebService <WebMethod> _ Public Function Add(num1 As Integer, num2 As Integer) As Integer Return num1 + num2 End Function <WebMethod> _ Public Function Subtract(num1 As Integer, num2 As Integer) As Integer Return num1 - num2 End Function End Class
Erstellen Sie eine HTML-Seite mit einem Formular, dessen method-Attribut auf POST festgelegt ist. Verwenden Sie folgendes Format:
<form method=POST action='https://www.contoso.com/math.asmx/Subtract'> <input type="text" size="5" name='num1'\"></td> - <input type="text" size="5" name='num2'\"></td> = <input type=submit value="Subtract"> </td> </form>
Parameter Wert method
POST. Wenn Sie den Webdienst mit HTTP-POST testen möchten, verwenden Sie POST.
action
Die URL der XML-Webdienstmethode. Im vorherigen Beispiel ist math.asmx der Webdienst, und
Subtract
ist die Webdienstmethode.type="text"
Erstellen Sie für jeden Parameter der Webdienstmethode input-Tags, deren type-Attribut auf "text" festgelegt ist. Dies ermöglicht es Ihnen, im Texteingabesteuerelement einen Parameterwert einzugeben.
name='num1'
Der Name des Webdienstmethodenparameters. Fügen Sie so viele Texteingabesteuerelemente in das Formular ein, wie Parameter in der Webdienstmethode vorhanden sind. Wenn eine Webdienstmethode z. B. über drei Parameter verfügt, sind drei Texteingabesteuerelemente erforderlich, deren name-Attribut jeweils auf den Parameternamen festgelegt ist.
type=submit
Fügen Sie eine Schaltfläche "Senden" hinzu, damit Sie die Daten an die Webdienstmethode zurücksenden können.
Öffnen Sie einen Webbrowser, und geben Sie die URL für das im vorigen Schritt erstellte HTML-Dokument Webdienst in die Adressleiste ein.
Das im vorherigen Schritt erstellte HTML-Dokument wird angezeigt.
Geben Sie die geeigneten Werte für die Webdienstmethode in die Textfelder ein, und klicken Sie auf die Schaltfläche Senden.
Wenn Sie beispielsweise 6 und dann 3 in die beiden Textfelder für die im obigen Beispiel angegebene Webdienstmethode
Subtract
eingeben, wird folgendes Ergebnis zurückgegeben:<?xml version="1.0" ?> <int xmlns="http://tempuri.org/">3</int>
Siehe auch
Aufgaben
Vorgehensweise: Untersuchen von vorhandenen mit ASP.NET erstellten Webdiensten
Vorgehensweise: Zugreifen auf XML-Webdienste von einem Browser aus
Konzepte
Erstellen von XML-Webdienstclients
Webdiensterkennung