Verwenden von WSDL

Diese Funktion wird in zukünftigen Versionen von Microsoft SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird.

WSDL (Web Service Description Language) definiert die Weboberfläche für alle RPC-Funktionen, die für den HTTP-Endpunkt verfügbar gemacht werden, und beschreibt außerdem die SQL-Batchfunktionalität für den Endpunkt. Ein Client kann eine WSDL-Antwort von einer Instanz von SQL Server anfordern und diese dazu verwenden, mithilfe der für die Unterstützung von WSDL konfigurierten HTTP-Endpunkte RPC- und SQL-Batchanforderungen für den Server zu generieren. Eine WSDL-Antwort ist im Wesentlichen ein dynamisch generiertes XML-Dokument, das auf den RPC-Funktionen basiert, die dem Endpunkt zum Zeitpunkt der Anforderung zugeordnet sind.

HinweisHinweis

Hintergrundinformationen zu WSDL finden Sie in der WSDL 1.1-Spezifikation auf der Website des World Wide Web Consortium (W3C) unter http://www.w3c.org/.

Für HTTP-Endpunkte, deren Konfiguration das WSDL-Format unterstützt, kann eine der folgenden WSDL-Konfigurationen angegeben werden, um Antworten auf WSDL-Anforderungen an Clients zu senden.

  • Eine Standard-WSDL-Konfiguration

  • Eine benutzerdefinierte WSDL-Konfiguration

Mit der WSDL-Standardkonfigurationsoption unterstützt SQL Server zwei WSDL-Typen: ein erweitertes oder Standard-WSDL-Format und ein einfaches WSDL-Format.

Beide WSDL-Dokumente beschreiben die Methoden, die auf dem Endpunkt unterstützt werden; das Standard-WSDL-Format verwendet jedoch zusätzliche Features eines XML-Schemas (XSD), um eine umfangreichere Beschreibung der Methoden, Datentypen und Parameter bereitzustellen, und um die Werte zurückzugeben, die auf dem Endpunkt verfügbar gemacht werden.

Das einfache WSDL-Format, das möglicherweise aus Kompatibilitätsgründen mit Clients früherer Versionen erforderlich ist, verwendet ein stark vereinfachtes XSD-Schema, das nur sehr einfache Datentypen erforderlich macht. Wenn weder das Standard-WSDL-Format noch das einfache WSDL-Format genau den einem bestimmten Client entsprechenden Inhalt bereitstellt, können Sie den Server aktualisieren, sodass er eine benutzerdefinierte WSDL-Version bereitstellt.

WSDL-Antworten werden von einer Instanz von SQL Server generiert und zurückgegeben, sobald ein Webdienstclient eine Verbindung mit einem HTTP-Endpunkt herstellt und eine WSDL-Anforderung sendet.

So wird WSDL von SQL Server unterstützt

Beim Definieren eines Endpunkts wird das WSDL-Argument in der CREATE ENDPOINT-Transact-SQL-Anweisung verwendet, um anzugeben, ob eine WSDL-Antwort generiert und zur Beschreibung seiner webprogrammierbaren Features an den Endpunkt zurückgegeben werden soll. Wenn der Endpunkt mithilfe des Wertes WSDL=NONE eingerichtet wurde, gibt der Server keine WSDL-Antwort zurück.

Wenn beim Erstellen des Endpunkts die Standard-WSDL-Generierung angegeben wurde, d. h. WSDL=DEFAULT, ist das vom Server zurückgegebene WSDL-Format von der URL-Zeichenfolge abhängig, das der Client zum Herstellen der Verbindung mit dem HTTP-Endpunkt verwendet. Clients können zum Senden von WSDL-Anforderungen eines der folgenden URL-Formate verwenden:

  • Standard-WSDL

    Wenn Sie die URL http://server/endpoint_path?wsdl verwenden, um eine Verbindung mit dem Endpunkt herzustellen, wird die Vollversion der erweiterten WSDL-Antwort zurückgegeben. Dieses Format verwendet aus XSD abgeleitete Datentypen, um Unterstützung für die Zuordnung zu komplexeren SQL-Datentypen bereitzustellen. Weitere Informationen finden Sie unter Standard-WSDL.

  • Einfaches WSDL

    Das einfache WSDL ist eine verkürzte und vereinfachte Version des Standard-WSDL-Formats, in dem alle SQL Server-Systemdatentypen XSD-systemeigenen Datentypen zugeordnet werden. Dieses Format wird zurückgegeben, wenn Sie zum Herstellen einer Verbindung mit dem Endpunkt die URL http://server/endpoint_path?wsdlsimple verwenden. Weitere Informationen finden Sie unter Einfaches WSDL.

  • Benutzerdefiniertes WSDL

    Wenn keine der beiden von der Instanz von SQL Server zurückgegebenen WSDL-Versionen (einfaches oder Standard-WSDL) von den Clients verarbeitet werden kann, können Sie ein benutzerdefiniertes WSDL-Format angeben. Diese Option setzt das Entwerfen und Implementieren von zusätzlichem Code voraus. Zum Generieren und Zurückgeben des benutzerdefinierten WSDL-Inhalts an Clients, die diesen WSDL-Typ in einer HTTP-basierten Abfrage angeben, kann eine gespeicherte Prozedur verwendet werden. Weitere Informationen finden Sie unter Implementieren von benutzerdefinierter WSDL-Unterstützung.

Inhalt des WSDL-Dokuments

Eine WSDL-Instanz (Web Services Description Language) ist ein XML-Dokument mit einem <definitions>-Stammelement, das den WSDL-Namespace angibt (https://schemas.xmlsoap.org/wsdl) und eine Reihe von Webdiensten als eine Auflistung von Netzwerk-Endpunkten, oder Ports, definiert. WSDL-Dokumente weisen normalerweise die folgende Hauptstruktur auf:

<wsdl:definitions>
  <wsdl:types>...</wsdl:types>
  <wsdl:message>...<wsdl:message/>
  <wsdl:portType>...</wsdl:portType>
  <wsdl:binding>...</wsdl:binding>
  <wsdl:service>...<wsdl:service>
<wsdl:definitions>

Die obenstehende, vereinfachte Darstellung des WSDL-Formats zeigt die verschiedenen Elemente, die die Hauptabschnitte des WSDL-Dokuments kennzeichnen. In der folgenden Tabelle wird die Rolle der einzelnen Elemente kurz erläutert.

Element

Beschreibung

wsdl:types

Containerelement für Datentypdefinitionen, die mithilfe von XML-Schemas (XSD) oder ähnlichen Datentypsystemen erstellt werden.

wsdl:message

Definition der übermittelten Nachrichtendaten. Die Nachricht kann aus zahlreichen Teilen bestehen, von denen jeder einen unterschiedlichen Typ besitzen kann.

wsdl:portType

Abstrakter Satz der Vorgänge, die von einem oder mehreren Endpunkten unterstützt werden.

wsdl:binding

Konkrete Protokoll- und Datenformatangabe für einen bestimmten Porttyp.

wsdl:service

Auflistung verbundener Endpunkte.

Verwenden gespeicherter Systemprozeduren zur Unterstützung von WSDL

Die folgenden gespeicherten Systemprozeduren sind in den systemeigenen XML-Webdiensten von SQL Server enthalten und unterstützen die einfachen sowie die Standard-WSDL-Implementierungen. Sie werden als Antwort auf WSDL-Anforderungen aufgerufen:

  • sp_http_generate_wsdl_defaultcomplexorsimple

  • sp_http_generate_wsdl_defaultsimpleorcomplex

  • sp_http_generate_wsdl_complex

  • sp_http_generate_wsdl_simple

Um diese gespeicherten Prozeduren ausführen zu können, ist die Mitgliedschaft in der public-Rolle erforderlich. Intern fragt jede dieser gespeicherten Prozeduren die Kataloge ab, um Informationen zu zusätzlich gespeicherten Prozeduren zu erhalten, die als Webmethoden über die Endpunkte verfügbar gemacht werden. Die Benutzer benötigen lediglich Berechtigungen für die gespeicherten Prozeduren der Webmethoden. Weitere Informationen finden Sie unter Verfügbarmachen der Programmierbarkeit von SQL im Web.