Utilisation de WSDL

Web Service Description Language (WSDL) définit l'interface Web de toute fonction RPC exposée au point de terminaison HTTP et décrit la fonctionnalité de commandes SQL pour ce point de terminaison. Un client peut demander une réponse WSDL pour toute instance de SQL Server et l'utiliser pour créer des demandes de lots RPC et SQL pour un serveur à l'aide des points de terminaison HTTP ayant été configurés pour prendre en charge le type WSDL. La réponse WSDL est en fait un document XML généré dynamiquement et basé sur les fonctions RPC associées au point de terminaison au moment de la demande.

ms175476.note(fr-fr,SQL.90).gifRemarque :
Pour plus d'informations sur WSDL, consultez la spécification WSDL 1.1 disponible sur le site Web du Consortium W3C (World Wide Web Consortium) à l'adresse http://www.w3c.org (en anglais).

Les points de terminaison HTTP configurés pour la prise en charge d'une offre WSDL peuvent spécifier l'une des configurations WSDL suivantes en vue de leur utilisation dans le cadre des réponses apportées aux clients soumettant des demandes WSDL :

  • WSDL par défaut ;
  • WSDL personnalisé.

Si SQL Server 2005 est configuré pour fournir l'option WSDL par défaut, il peut prendre en charge les deux types WSDL suivants : le format WSDL étendu (par défaut) et le format WSDL simplifié.

Même si les documents WSDL décrivent les méthodes prises en charge au point de terminaison, le WSDL par défaut utilise les fonctionnalités d'un schéma XML (XSD) afin de décrire de manière plus approfondie les méthodes, types de données, paramètres et valeurs retournées qui sont disponibles ou exposées au point de terminaison.

Le format WSDL simplifié, qui peut être nécessaire pour garantir la compatibilité descendante avec les clients antérieurs, utilise un schéma XSD très basique qui ne requiert que des types de données primitifs. Si le format WSDL par défaut ou WSDL simplifié ne fournit pas le contenu exact WSDL approprié à un client particulier, mettez le serveur à jour pour obtenir la version personnalisée de WSDL dont vous avez besoin.

Les réponses WSDL sont générées et retournées par une instance de SQL Server lors de la connexion initiale à un point de terminaison HTTP d'un client de services Web soumettant une demande WSDL.

Prise en charge de WSDL par SQL Server 2005

Lors de la définition d'un point de terminaison, l'argument WSDL de l'instruction Transact-SQL CREATE ENDPOINT est utilisé pour spécifier au serveur si une réponse WSDL décrivant les fonctionnalités Web programmables de ce point de terminaison doit être générée, puis retournée à ce point. Si ce dernier a été établi à l'aide de la valeur WSDL=NONE, le serveur ne retourne pas de réponse WSDL.

En cas de génération WSDL par défaut, par exemple si la valeur WSDL=DEFAULT a été spécifiée au moment de la création du point de terminaison, le format du WSDL retourné par le serveur varie en fonction de la chaîne URL utilisée par le client pour se connecter au point de terminaison HTTP. Les clients peuvent utiliser l'un des formats URL suivants pour demander le WSDL :

  • WSDL par défaut
    Il s'agit de la version complète de la réponse WSDL étendue qui est retournée lorsque vous utilisez l'URL http://server/endpoint_path?wsdl pour vous connecter au point de terminaison. Ce format utilise les types XSD dérivés pour garantir la prise en charge du mappage de types SQL plus complexes. Pour plus d'informations, consultez Format WSDL par défaut.
  • WSDL simplifié
    Il s'agit de la version abrégée et simplifiée de WSDL par défaut qui sert à mapper tous les types de données système de SQL Server vers des types XSD natifs. Ce format est retourné lorsque vous utilisez l'URL http://server/endpoint_path?wsdlsimple pour vous connecter au point de terminaison. Pour plus d'informations, consultez Format WSDL simple.
  • WSDL personnalisé
    Lorsque la version WSDL retournée par l'instance de SQL Server, qu'il s'agisse de la version par défaut ou de la version simplifiée, n'est pas acceptable pour le client, vous pouvez spécifier un service WSDL personnalisé. Cette option requiert la création et l'implémentation préalable d'un autre code. De cette manière, une procédure stockée peut être utilisée pour générer et retourner le contenu WSDL personnalisé en tant que réponse à un client ayant soumis le type WSDL personnalisé dans sa requête HTTP. Pour plus d'informations, consultez Mise en œuvre d'une prise en charge WSDL personnalisée.

Contenu de WSDL

Une instance WSDL (Web Services Description Language) est un document XML qui dispose d'un élément racine <definitions> spécifiant l'espace de noms de WSDL (https://schemas.xmlsoap.org/wsdl) et qui définit une série de services Web, comme une collection de points de terminaison réseau ou de ports. Tout document WSDL normal présente la structure de premier niveau suivante :

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

Comme vous le voyez dans cette vue simplifiée du format WSDL, plusieurs éléments indiquent les sections principales du document WSDL. Le rôle de chacun de ces éléments est décrit brièvement dans le tableau ci-dessous.

Élément Description

wsdl:types

Élément de conteneur pour les définitions de type de données effectuées à l'aide d'un schéma XML (XSD) ou d'un autre système similaire pour les types de données.

wsdl:message

Définition des données du message en cours de communication. Le message peut être constitué de plusieurs parties, chacune pouvant être d'un type différent.

wsdl:portType

Jeu abstrait d'opérations prises en charge par un ou plusieurs points de terminaison.

wsdl:binding

Protocole concret et spécification du format des données pour un type de port particulier.

wsdl:service

Collection de points de terminaison associés.

Procédures stockées système utilisées pour la prise en charge de WSDL

Les procédures stockées système suivantes sont incluses dans les services Web XML natifs dans SQL Server 2005 afin de permettre la prise en charge des implémentations WSDL simples et par défaut. Elles sont appelées en réponse à toute demande de WSDL :

  • sp_http_generate_wsdl_defaultcomplexorsimple
  • sp_http_generate_wsdl_defaultsimpleorcomplex
  • sp_http_generate_wsdl_complex
  • sp_http_generate_wsdl_simple

L'exécution de ces procédures stockées nécessite l'appartenance au rôle public. Chacune de ces procédures stockées interroge en interne les catalogues pour obtenir les informations sur les autres procédures stockées exposées aux points de terminaison en tant que méthodes Web. Les utilisateurs doivent juste disposer de l'autorisation appropriée pour ces procédures stockées exposées en tant que méthodes Web. Pour plus d'informations, consultez Exposition de la programmabilité SQL sur le Web.

Voir aussi

Référence

Mise en œuvre d'une prise en charge WSDL personnalisée

Autres ressources

CREATE ENDPOINT (Transact-SQL)
Utilisation des services Web XML natifs dans SQL Server 2005

Aide et Informations

Assistance sur SQL Server 2005