Freigeben über


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

  1. Geben Sie den XML-Webdienst an einen Webserver weiter. Weitere Informationen finden Sie unter XML-Webdienstveröffentlichung und -weitergabe.

  2. Ö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.

  3. 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 namens GetQuote 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

  1. Geben Sie den XML-Webdienst an einen Webserver weiter. Weitere Informationen finden Sie unter XML-Webdienstveröffentlichung und -weitergabe.

  2. Ö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
  1. Geben Sie den XML-Webdienst an einen Webserver weiter. Weitere Informationen finden Sie unter XML-Webdienstveröffentlichung und -weitergabe.

  2. 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.
  3. Ö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.

  4. 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