web-dev-qa-db-fra.com

quelle est la différence entre XSD et WSDL

Quelle est la différence entre XML Schema et WSDL?

La différence que j'ai remarquée est que WSDL contient XSD et que WSDL permet de déclarer des opérations, mais pas dans XSD. Est-ce exact?

145
make

XSD définit un schéma qui définit comment un document XML peut être structuré. Vous pouvez l'utiliser pour vérifier qu'un document XML donné est valide et respecte les règles que vous avez définies dans le schéma.

WSDL est un document XML décrivant un service Web. Il montre quelles opérations sont disponibles et comment les données doivent être structurées pour être envoyées à ces opérations.

Les documents WSDL ont un fichier XSD associé qui indique ce qui peut être inséré dans un document WSDL.

145
Paolo

WSDL(langage de description de services Web) décrit votre service et ses opérations.

C'est une description du comportement du service - sa fonctionnalité.

XSD(Définition du schéma XML) décrit la structure statique des types de données complexes échangés par ces méthodes de service. Il décrit les types, leurs champs, les restrictions éventuelles sur ces champs (comme la longueur maximale ou un motif de regex), etc.

C'est une description des types de données et donc des propriétés statiques du service - il s'agit de données.

187
marc_s

XSD: définition de schéma XML. 

XML: eXtensible Markup Language.

WSDL: langage de définition de service Web. 

Je ne vais pas répondre en termes techniques. Je vise cette explication aux débutants.

Il n'est pas facile de communiquer entre deux applications différentes développées à l'aide de deux technologies différentes. Par exemple, une société de Chicago pourrait développer une application Web utilisant Java et une autre société de New York pourrait développer une application en C #. Lorsque ces deux sociétés ont décidé de partager des informations, XML entre en scène. Il aide à stocker et à transporter des données entre deux applications différentes développées à l'aide de technologies différentes. Remarque: il n'est pas limité à un langage de programmation. Veuillez effectuer des recherches sur le transport d'informations entre deux applications différentes. 

XSD est une définition de schéma. Ce que je veux dire par là, c'est dire aux utilisateurs de développer leur code XML dans un tel schéma. Veuillez regarder les images ci-dessous et regarder attentivement avec l'élément "load-on-startup" et son type, qui est un entier. Dans l'image XSD, vous pouvez voir qu'il s'agit d'une valeur entière pour le "chargement au démarrage". Ainsi, lorsque l'utilisateur a créé son code XML, il a transmis une valeur int à cet élément particulier. Pour rappel, XSD est un schéma et un style alors que XML est un formulaire permettant de communiquer avec une autre application ou un autre système. Il faut voir XSD et créer du XML de telle manière, sinon il ne communiquera pas avec une autre application ou un autre système développé avec une technologie différente. Une entreprise de Chicago fournit un modèle XSD à une entreprise du Texas pour écrire ou générer leur code XML au format XSD indiqué. Si la société du Texas n’a pas respecté les règles ou le schéma mentionnés dans XSD, il est impossible d’attendre des informations correctes de la part de la société de Chicago. Il y a tellement de choses à faire après l'histoire ci-dessus, qu'un amateur ou un débutant doit savoir tout en codant pour quelque chose comme je l'ai dit ci-dessus. Si vous voulez vraiment savoir ce qui se passera plus tard, il est préférable de vous asseoir avec des ingénieurs en logiciel expérimentés qui ont en fait développé des services Web. Ensuite vient WSDL, suivez les images et essayez de trouver l’emplacement du WSDL. 

*************** ======== Ci-dessous une image XML partielle ========== ************* *** XML image partial

*************** ======== Ci-dessous une image partielle en XSD ========== ************* ***

XSD image partial

*************** ======== Ci-dessous l'image partielle WSDL ======= *************

WSDL image partial

Je devais créer un exemple de WSDL pour un service Web appelé Book. Notez qu'il s'agit d'un XSD, mais vous devez l'appeler WSDL (langage de définition de service Web) car il est très spécifique aux services Web. Le WSDL ci-dessous (ou en d'autres termes XSD) est créé pour une classe appelée Book.Java et a créé un service SOAP. La façon dont le service Web SOAP l'a créé est un sujet différent. Il faut écrire une classe Java et avant de l'exécuter, créer en tant que service Web, l'utilisateur doit s'assurer que l'API Axis2 est installée et que le service Web Tomcat to Host est en place. 

En tant que prestataire (celui qui autorise les autres (clients) à accéder aux informations ou aux données de leurs systèmes), le client (celui qui doit utiliser les informations ou les données du prestataire) a un accès complet aux données via un service Web, car aucune entreprise sur la terre disposée à exposer sa base de données à des étrangers. Comme ma société, a décidé de donner des informations sur les produits via Web Services, nous avons donc dû créer un modèle XSD et le transmettre à quelques-uns de nos clients qui souhaitent travailler avec nous. Ils doivent écrire du code pour utiliser pleinement le XSD donné et faire des appels de service Web pour extraire les données du serveur et convertir les données renvoyées dans leur besoin approprié, puis afficher ou publier des données ou des informations sur le produit sur leur site Web. Un exemple simple serait la réservation de billets FLIGHT. Une compagnie aérienne laissera des tiers utiliser les données de vol de leur site pour la vente de billets. Mais encore une fois, il y a beaucoup plus que cela, il est juste de ne pas laisser un agent tiers de vente de billets d'avion pour vendre des billets, il y aura une synchronisation et une sécurité en place. S'il n'y a pas de synchronisation, il y a 100% de chances que plus d'un client achète le même billet d'avion auprès de différentes sources. 

J'espère que les experts contribueront à ma réponse. Il est très difficile pour un débutant ou un novice de comprendre XML, XSD, puis de travailler sur les services Web. 

49
MKod

XSD doit valider le document et contient des métadonnées sur le XML, tandis que WSDL doit décrire l'emplacement et les opérations du service Web.

8
Priyank Bolia

XSD (définition de schéma XML) définit l'élément dans un document XML. Il peut être utilisé pour vérifier si les éléments du document XML sont conformes à la description dans laquelle le contenu doit être placé. While wsdl est un type spécifique de document XML décrivant le service Web. WSDL lui-même adhère à un XSD.

3
vivyzer

WSDL - Il contient les opérations telles que Méthodes fournies par un service Web. Ces méthodes peuvent accepter des types de données simples tels que int, float, etc. et des types de données complexes tels que des objets, des vecteurs, des tableaux, etc. utilisé. et sur la base du xsd, un utilisateur souhaitant accéder au service Web depuis une plate-forme différente peut fournir les données de manière appropriée.

Consultez: ayazroomy-Java.blogspot.com pour en savoir plus sur les bases du service Web.

1
ayaz

Si quelqu'un recherche une analogie, cette réponse pourrait être utile.

WSDL est comme la commande 'SHOW TABLE STATUS' dans mysql. Il définit tous les éléments (type de requête, type de réponse, format de l'URL de la requête d'accès, etc.), qui doivent faire partie de XML. Par définition, je veux dire: 1) Noms de la demande ou de la réponse 2) Ce qui devrait être traité comme entrée, ce qui devrait être traité comme sortie.

XSD est comme la commande DESC dans mysql. Il indique ce que toutes les variables et leurs types, une demande et une réponse contiennent.

0
Sunny Gangisetti

XSD est un schéma pour un fichier WSDL. XSD contient des types de données pour WSDL. L'élément déclaré dans XSD est valide pour être utilisé dans un fichier WSDL. Nous pouvons comparer WSDL à XSD pour vérifier que le service Web WSDL est valide ou non.

0
Snehal More