web-dev-qa-db-fra.com

Que sont le WSDL, SOAP et reste?

Qu'est-ce que WSDL ? Comment est-il lié à SOAP ? Où se trouve RESTE dans tout cela?

121
javaguy

Un WSDL est un document XML décrivant un service Web. Il s'agit en réalité de Web Services Description Language.

SOAP est un protocole basé sur XML qui vous permet d'échanger des informations via un protocole particulier (HTTP ou SMTP, par exemple) entre applications. Il est synonyme de Simple Object Access Protocol et utilise XML pour son format de messagerie pour relayer les informations.

REST est un style architectural de systèmes en réseau et est synonyme de Representational State Transfer. Ce n'est pas une norme en soi, mais utilise des normes telles que HTTP, URL, XML, etc. 

144
keith_c

Exemple: En termes simples si vous avez un service Web de calculatrice. 

WSDL: WSDL décrit les fonctions que vous pouvez implémenter ou exposer au client. Par exemple: ajouter, supprimer, soustraire, etc. 

SOAP: Où en utilisant SOAP, vous effectuez des actions telles que doDelete (), doSubtract (), doAdd (). Donc SOAP et WSDL sont des pommes et des oranges. Nous ne devrions pas les comparer. Ils ont tous deux leurs propres fonctionnalités. 

Pourquoi nous utilisons SOAP et WSDL: pour un échange de données indépendant de la plate-forme.

EDIT: Dans une vie quotidienne normale exemple:

WSDL: Lorsque nous allons au restaurant, nous voyons les éléments de menu, ceux-ci sont les WSDL.

Classes de proxy: Maintenant, après avoir vu les éléments de menu, nous nous décidons (Processus notre esprit sur ce qu'il faut commander): Donc, fondamentalement, nous créons des classes de proxy basées sur le document WSDL. 

SOAP: Puis, lorsque nous commandons les aliments en fonction du menu: Cela signifie que nous utilisons des classes proxy pour appeler les méthodes de service effectuées à l'aide de SOAP. :)

61
Unbreakable

Chaque fois que quelqu'un mentionne SOAP/WSDL, je pense aux objets et aux classes définis au xml ...

"Vous utilisez SOAP de la même manière que n'importe quelle classe PHP. Cependant, dans ce cas, la classe n'existe pas dans le système de fichiers des applications locales, mais sur un site distant accessible via http. . " ... "Si nous pensons que l'utilisation d'un service SOAP n'est qu'une autre classe PHP, le document WSDL est une liste de toutes les méthodes et propriétés de classe disponibles."

http://www.doublehops.com/2009/07/07/quick-tutorial-on-getting-started-with-soap-in-php/comment-page-1/

..et chaque fois que quelqu'un parle de REST, je pense aux commandes HTTP (méthodes de requête) telles que POST, GET et DELETE

32
angelcool.net

Vous n'allez pas "simplement" comprendre quelque chose de complexe.

WSDL est un langage basé sur XML permettant de décrire un service Web. Il décrit les messages, les opérations et les informations de transport réseau utilisés par le service. Ces services Web utilisent généralement SOAP, mais peuvent utiliser d'autres protocoles.

Un WSDL est lisible par un programme et peut donc être utilisé pour générer tout ou partie du code client nécessaire pour appeler le service Web. C’est ce que signifie appeler des services Web basés sur SOAP "auto-descriptifs".

REST n'est pas du tout lié au WSDL.

11
John Saunders

SOAP -> SOAP (protocole d'objet simple) est le protocole au niveau de l'application créé pour l'interaction machine à machine. Le protocole définit les règles standard. Toutes les parties qui utilisent le protocole particulier doivent adhérer aux règles du protocole. Comme TCP, il se déroule au niveau de la couche transport, le protocole SOAP sera compris par la couche application (toute application prenant en charge SOAP - Axis2, .Net). 

Le message WSDL -> SOAP est composé de SoapEnevelope-> SoapHeader et de SoapBody. Il ne définit pas ce que serait le format de message? Quels sont tous les transports (HTTP, JMS) qu'il prend en charge? sans cette information, il est difficile pour tout client qui souhaite utiliser le service Web particulier de construire le message SOAP. Même s'ils le font, ils ne seront pas sûrs, cela fonctionnera tout le temps. WSDL est le sauvetage. WSDL (langage de description de service Web) définit les opérations, les formats de message et les détails de transport pour le message SOAP. 

REST -> REST (Representational State Transfer) est basé sur le transport. Contrairement à SOAP qui cible les actions, REST concerne davantage les ressources. REST localise les ressources en utilisant une URL (exemple -http: // {adresseServeur}/employee/employeeNumber/12345) et dépend du protocole de transport (avec HTTP - GET, POST, PUT, DELETE, ... ) pour les actions à effectuer sur les ressources. Le service REST localise la ressource en fonction de l'URL et exécute l'action en fonction du verbe d'action de transport. C'est plus du style architectural et des conventions basées. 

11

SOAP signifie Simple (sic) Object Access Protocol. Il s'agissait d'un moyen d'effectuer des appels de procédure distante sur des objets distants en envoyant XML sur HTTP. 

WSDL est le langage de description de service Web. Une demande se terminant par '.wsdl' à un point d'extrémité donnera lieu à un message XML décrivant la demande et la réponse qu'une utilisation peut attendre. Il décrit le contrat entre service et client.

REST utilise HTTP pour envoyer des messages aux services. 

SOAP est une spécification, REST est un style.

10
duffymo

Wikipedia dit: "Le langage de description de services Web est un langage basé sur XML qui fournit un modèle pour décrire les services Web". En d'autres termes, WSDL est destiné à un service Web, comme javadoc à une bibliothèque Java. 

Ce qui est vraiment intéressant avec WSDL, c’est que le logiciel peut générer un client et un serveur à l’aide de WSDL.

5
Michael Burrows

Quelques explications claires (pour SOAP et WSDL) sont également disponibles ici.

Différence entre un message SOAP et un WSDL?

3
namski

REST est léger en termes d’encodage, bien plus utile pour les appareils légers, c’est-à-dire les API non strictes.

REST est indépendant du format. XML, HTML, JSON, toutes les options sont disponibles.

REST offre des possibilités de transfert de message sur 2 points (ce qui n’est pas surprenant puisque REST signifie REPresentational State Transfer), où l’interaction WSDL/SOAP est l’interaction de messages multiples.

REST ne nécessite pas de nouvelle extension pour les messages XML, ce qui est le cas dans WSDL/SOAP.

WSDL/SOAP utilise plusieurs protocoles de transport, REST repose uniquement sur HTTP. Par conséquent, WSDL/SOAP peut être utilisé comme une méthode RESTful, mais des requêtes simples peuvent être trop compliquées/lourdes.

Une simple analogie: REST, c'est comme si un motoboy livrait votre nourriture facilement et rapidement. XML étendu WSDL/SOAP ressemble davantage à la livraison d’UPS, des choses plus structurées et plus sérieuses, mais qui ont un coût.

2
Bedi Egilmez

Un document WSDL décrit un service Web. Il spécifie l'emplacement du service et les méthodes du service à l'aide des éléments principaux suivants: types de données utilisés dans webservice éléments de données pour chaque opération décrivez les opérations pouvant être effectuées et les messages envoyés

SOAP (Simple Object Access Protocol) est un protocole de messagerie qui permet aux programmes exécutés sur des systèmes d'exploitation différents de communiquer à l'aide de http et xml.

0
Farzaneh