Zugreifen auf XML-Webdienste aus einem Browser
Nachdem Sie einen mit ASP.NET erstellten XML-Webdienst veröffentlicht haben, können Sie seine Funktionalität testen, indem Sie eine seiner XML-Webdienstmethoden mittels eines Browsers aufrufen. Geben Sie den XML-Webdienst zu diesem Zweck an einen Webserver weiter, und stellen Sie dann vom Browser aus eine Verknüpfung mit dem XML-Webdienst her. Nachdem die ASMX-Datei an einen Webserver weitergegeben wurde, können Sie den XML-Webdienst entweder mit HTTP-GET oder HTTP-POST in einem Browser testen.
**Hinweis **Ein mit ASP.NET erstellter XML-Webdienst bietet automatisch Unterstützung für mehrere Protokolle, einschließlich HTTP-GET, HTTP-POST und HTTP-SOAP.
So testen Sie einen XML-Webdienst mittels HTTP-GET in einem Browser
Geben Sie den XML-Webdienst an einen Webserver weiter. Weitere Informationen finden Sie unter XML-Webdienstveröffentlichung und -weitergabe.
Öffnen Sie einen Webbrowser, und geben Sie den URL für den XML-Webdienst in die Adressleiste ein. Verwenden Sie dabei das folgende Format:
https://servername/apppath/webservicename.asmx
Parameter Wert servername Der Name des Servers, auf dem der XML-Webdienst bereitgestellt wurde. Apppath Der Name des virtuellen Verzeichnisses mit den Pfadangaben zur Webanwendung. webservicename.asmx Der Name der ASMX-Datei des XML-Webdienstes. Die HTML-Beschreibungsdatei des XML-Webdienstes wird angezeigt.
Auf der HTML-Beschreibungsseite des XML-Webdienstes sehen Sie alle XML-Webdienstmethoden, die von einem bestimmten XML-Webdienst unterstützt werden. Stellen Sie eine Verknüpfung mit der gewünschten XML-Webdienstmethode her, und geben Sie die erforderlichen Parameter ein.
Angenommen, Sie haben einen XML-Webdienst namens
StockServices
veröffentlicht, der eine XML-Webdienstmethode namensGetQuote
enthält, für die ein Börsensymbol als Parameter erforderlich ist. Nach der Veröffentlichung lautet der Basis-URL für diesen Dienst http://<servername>/apppath/StockServices.asmx. Sie sollten diesen Dienst testen, indem Sie diese HTTP-GET-Anforderung in die URL-Zeile des Browsers eingeben:http://<servername>/apppath/StockServices.asmx
Der Server zeigt in Reaktion auf diese Anforderung die HTML-Beschreibungsseite des XML-Webdienstes an. Auf dieser Seite sind alle im XML-Webdienst enthaltenen Methoden aufgelistet. Außerdem ermöglicht sie das Testen der Methoden und das Anzeigen ihrer XML-Antworten.
Sie können auch spezifischere Angaben machen, indem Sie die exakte Methode eingeben, die Sie testen möchten. Beispielsweise könnten Sie Folgendes eingeben, um die
GetQuote
-Methode des Dienstes zu testen:http://<servername>/apppath/StockServices.asmx/GetStockQuote?tickerName=MSFT
Der Server zeigt eine XML-Antwort an, die den angeforderten aktuellen Preis der Aktie enthält. Wenn der Rückgabedatentyp für
GetQuote
eine Gleitkommazahl mit doppelter Genauigkeit ist, könnte das Ergebnis wie folgt aussehen:<?xml version="1.0" ?> <double>74.5</double>
Alternative Methode zum Testen eines XML-Webdienstes in einem Browser mittels HTTP-GET
Geben Sie den XML-Webdienst an einen Webserver weiter. Weitere Informationen finden Sie unter XML-Webdienstveröffentlichung und -weitergabe.
Öffnen Sie einen Webbrowser, und geben Sie den URL für den XML-Webdienst in die Adressleiste ein. Verwenden Sie dabei das folgende Format:
https://servername/vdir/webservicename.asmx/Methodname?parameter=value
Parameter Wert servername Der Name des Servers, auf dem der XML-Webdienst bereitgestellt wird. Apppath Der Name des virtuellen Verzeichnisses mit den Pfadangaben zur Webanwendung. webservicename.asmx Der Name der ASMX-Datei des XML-Webdienstes. Methodname Der Name einer öffentlichen Methode, die vom XML-Webdienst zur Verfügung gestellt wird. Falls keine Eingabe erfolgt, wird die Beschreibungsseite des XML-Webdienstes angezeigt, in der alle in der ASMX-Datei verfügbaren öffentlichen Methoden aufgelistet sind. (Optional). parameter Der geeignete Parametername und Wert für beliebige Parameter, die von der Methode benötigt werden. Falls keine Eingabe erfolgt, wird die Beschreibungsseite des XML-Webdienstes angezeigt, in der alle in der ASMX-Datei verfügbaren öffentlichen Methoden aufgelistet sind. (Optional). Hinweis Beim Namen der XML-Webdienstmethode wird in dieser Syntax zwischen Groß- und Kleinschreibung unterschieden. Auf die Namen von Server, Projekt und XML-Webdienst trifft dies nicht zu.
Angenommen, Sie haben einen XML-Webdienst namens StockServices
veröffentlicht, der eine XML-Webdienstmethode namens GetQuote
enthält. Die XML-Webdienstmethode akzeptiert ein Börsensymbol als Parameter und gibt den Preis als Gleitkommazahl mit doppelter Genauigkeit zurück. Nach der Veröffentlichung lautet der Basis-URL für diesen Dienst http://<servername>/apppath/StockServices.asmx. Sie können diesen Dienst testen, indem Sie folgende HTTP-GET-Anforderung in das Adressfeld des Browsers eingeben:
http://<servername>/apppath/StockServices.asmx/GetStockQuote?tickerName=MSFT
Der Server zeigt eine XML-Antwort an, die den angeforderten aktuellen Preis der Aktie enthält. Wenn der Rückgabedatentyp für GetQuote
eine Gleitkommazahl mit doppelter Genauigkeit ist, könnte das Ergebnis wie folgt aussehen:
<?xml version="1.0" ?>
<double>74.5</double>
So testen Sie einen XML-Webdienst mittels HTTP-POST in einem Browser
Um einen XML-Webdienst mit HTTP-POST zu testen, müssen Sie eine HTML-Seite mit einem Formular erstellen, deren method-Attribut auf POST gesetzt ist. Die folgenden Schritte verdeutlichen, wie Sie einen HTTP-POST-Client für den folgenden XML-Webdienst erstellen.
<%@ 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;
}
}
[Visual Basic]
<%@ 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
Geben Sie den XML-Webdienst an einen Webserver weiter. Weitere Informationen finden Sie unter XML-Webdienstveröffentlichung und -weitergabe.
Erstellen Sie ein HTML-Dokument mit einem Formular, und verwenden Sie dabei das folgende 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. Um den XML-Webdienst mit HTTP-POST zu testen, verwenden Sie POST. action URL, der auf die XML-Webdienstmethode verweist. math.asmx ist im vorangehenden Beispiel der XML-Webdienst und Subtract
die XML-Webdienstmethode.type="text" Erstellen Sie für jeden Parameter der XML-Webdienstmethode input-Tags, deren Typenattribut auf "text" gesetzt ist. Dies ermöglicht es Ihnen, einen Parameterwert in das Texteingabesteuerelement einzugeben. name='num1' Der Name des Methodenparameters des XML-Webdienstes. Fügen Sie so viele Texteingabesteuerelemente in das Formular ein, wie Parameter in der XML-Webdienstmethode vorhanden sind. Wenn eine XML-Webdienstmethode beispielsweise über drei Parameter verfügt, sind drei Texteingabesteuerelemente erforderlich, deren name-Attribut jeweils entsprechend dem Parameternamen festgelegt wird. type=submit Fügen Sie eine Schaltfläche zum Absenden hinzu, damit Sie die Daten an die XML-Webdienstmethode zurücksenden können. Öffnen Sie einen Webbrowser, und geben Sie den URL für das HTML-Dokument ein, das Sie im vorherigen Schritt erstellt haben.
Das im vorherigen Schritt erstellte HTML-Dokument wird angezeigt.
Geben Sie die geeigneten Werte für die XML-Webdienstmethode in die Textfelder ein, und klicken Sie auf die Schaltfläche zum Absenden.
Wenn Sie in die beiden Textfelder für die oben angegebene XML-Webdienstmethode
Subtract
beispielsweise 6 und dann 3 eingegeben haben, wird das folgende Ergebnis zurückgegeben:<?xml version="1.0" ?> <int xmlns="http://tempuri.org/">3</int>
Siehe auch
Erstellen von XML-Webdienstclients | Suchen von XML-Webdiensten | Erstellen von Clients für XML-Webdienste | Durchsuchen von vorhandenen mit ASP.NET erstellten XML-Webdiensten | Zugreifen auf XML-Webdienste aus einem Browser