Freigeben über


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.

45fez2a8.note(de-de,VS.100).gifHinweis:
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

  1. Stellen Sie den Webdienst auf einem Webserver bereit. Weitere Informationen finden Sie unter XML-Webdienstveröffentlichung und -bereitstellung.

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

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

  1. Stellen Sie den Webdienst auf einem Webserver bereit. Weitere Informationen finden Sie unter XML-Webdienstveröffentlichung und -bereitstellung.

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

    45fez2a8.note(de-de,VS.100).gifHinweis:
    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 namens GetQuote. 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

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

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

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

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

Weitere Ressourcen

Erstellen von Clients für XML-Webdienste