Je ne sais pas comment les messages SOAP et WSDL s'associent? J'ai commencé à examiner les messages SOAP tels que:
POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.example.org/stock">
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
Tous les messages SOAP sont-ils des WSDL? SOAP est-il un protocole qui accepte ses propres «messages SOAP» ou «WSDL»? S'ils sont différents, quand dois-je utiliser les messages SOAP et quand dois-je utiliser les messages WSDL?
Une clarification à ce sujet serait géniale.
java
web-services
soap
wsdl
James
la source
la source
Réponses:
Un document SOAP est envoyé par demande. Disons que nous étions une librairie et que nous avions un serveur distant que nous avons demandé pour connaître le prix actuel d'un livre en particulier. Supposons que nous devions transmettre le titre du livre, le nombre de pages et le numéro ISBN au serveur.
Chaque fois que nous voulions connaître le prix, nous envoyions un message SOAP unique. Cela ressemblerait à quelque chose comme ça;
Et nous nous attendons à recevoir un message de réponse SOAP comme;
Le WSDL décrit ensuite comment gérer / traiter ce message lorsqu'un serveur le reçoit. Dans notre cas, il décrit les types de Title, NumPages et ISBN, si nous devrions attendre une réponse du message GetBookPrice et à quoi devrait ressembler cette réponse.
Les types ressembleraient à ceci;
Mais le WSDL contient également plus d'informations, sur les fonctions liées entre elles pour effectuer des opérations, sur les opérations disponibles dans le service et sur la localisation sur un réseau où vous pouvez accéder au service / aux opérations.
Voir aussi Exemples WSDL annotés W3
la source
Un message SOAP est un document XML utilisé pour transmettre vos données. WSDL est un document XML qui décrit comment se connecter et faire des requêtes à votre service Web.
Fondamentalement, les messages SOAP sont les données que vous transmettez, WSDL vous indique ce que vous pouvez faire et comment effectuer les appels.
Une recherche rapide dans Google fournira de nombreuses sources de lecture supplémentaire (le lien du livre précédent maintenant mort, pour lutter contre cela, mettra de nouvelles recommandations dans les commentaires)
Juste en notant vos questions spécifiques:
Tous les messages SOAP sont-ils des WSDL? Non, ce n'est pas du tout la même chose.
SOAP est-il un protocole qui accepte ses propres «messages SOAP» ou «WSDL»? Non - lecture requise car c'est loin.
S'ils sont différents, quand dois-je utiliser les messages SOAP et quand dois-je utiliser les messages WSDL? Soap est la structure que vous appliquez à votre message / données pour le transfert. Les WSDL sont utilisés uniquement pour déterminer comment passer des appels au service en premier lieu. Il s'agit souvent d'une chose ponctuelle lorsque vous ajoutez du code pour la première fois pour appeler un service Web particulier.
la source
Un WSDL (Web Service Definition Language) est un fichier de métadonnées qui décrit le service Web.
Des choses comme le nom de l'opération, les paramètres, etc.
Les messages soap sont les véritables charges utiles
la source
Nous devons définir ce qu'est un service Web avant de dire quelle est la différence entre SOAP et WSDL où les deux (SOAP et WSDL) sont des composants d'un service Web
La plupart des applications sont développées pour interagir avec les utilisateurs, l'utilisateur entre ou recherche des données via une interface et l'application répond alors à l'entrée de l'utilisateur.
Un service Web fait plus ou moins la même chose sauf qu'une application de service Web ne communique que d'une machine à l'autre ou d'une application à l'autre. Il n'y a souvent pas d'interaction directe avec l'utilisateur.
Un service Web est essentiellement un ensemble de protocoles ouverts utilisés pour échanger des données entre applications. L'utilisation de protocoles ouverts permet aux services Web d'être indépendants de la plate-forme. Les logiciels qui sont écrits dans différents langages de programmation et qui s'exécutent sur différentes plates-formes peuvent utiliser des services Web pour échanger des données sur des réseaux informatiques tels qu'Internet. En d'autres termes, les applications Windows peuvent communiquer avec les applications PHP, Java et Perl et bien d'autres, ce qui dans des circonstances normales ne serait pas possible.
Étant donné que différentes applications sont écrites dans différents langages de programmation, elles ne peuvent souvent pas communiquer entre elles. Un service Web permet cette communication en utilisant une combinaison de protocoles ouverts et de normes, principalement XML, SOAP et WSDL. Un service Web utilise XML pour baliser les données, SOAP pour transférer un message et enfin WSDL pour décrire la disponibilité des services. Jetons un coup d'œil à ces trois composants principaux d'une application de service Web.
Protocole d'accès aux objets simple (SOAP)
Le protocole d'accès à un objet simple ou SOAP est un protocole permettant d'envoyer et de recevoir des messages entre applications sans rencontrer de problèmes d'interopérabilité (l'interopérabilité signifie que la plate-forme sur laquelle un service Web s'exécute devient non pertinente). Un autre protocole qui a une fonction similaire est HTTP. Il est utilisé pour accéder aux pages Web ou pour surfer sur Internet. HTTP garantit que vous n'avez pas à vous soucier du type de serveur Web - qu'il s'agisse d'Apache, d'IIS ou de tout autre - vous sert les pages que vous consultez ou si les pages que vous affichez ont été créées en ASP.NET ou HTML.
Comme SOAP est utilisé à la fois pour demander et répondre, son contenu varie légèrement en fonction de son objectif.
Vous trouverez ci-dessous un exemple de requête SOAP et de message de réponse
Demande SOAP:
Réponse SOAP:
Bien que les deux messages se ressemblent, ils utilisent des méthodes différentes. Par exemple, en regardant les exemples ci-dessus, vous pouvez voir que le message de demande utilise la
GetBookPrice
méthode pour obtenir le prix du livre. La réponse est effectuée par leGetBookPriceResponse
méthode, qui va être le message que vous verrez en tant que "demandeur". Vous pouvez également voir que les messages sont composés en utilisant XML.Langage de description de services Web ou WSDL
WSDL est un document qui décrit un service Web et vous indique également comment accéder et utiliser ses méthodes.
WSDL se charge de savoir comment savoir quelles méthodes sont disponibles dans un service Web que vous rencontrez sur Internet.
Jetez un œil à un exemple de fichier WSDL:
Les principales choses à retenir à propos d'un fichier WSDL sont qu'il vous fournit:
la source
Meilleure analogie que l'appel téléphonique: commander des produits par courrier postal auprès d'un service de vente par correspondance. Le document WSDL ressemble aux instructions qui expliquent comment créer le type de bons de commande que le fournisseur de services acceptera. Un message SOAP est comme une enveloppe avec un design standard (taille, forme, construction) que chaque bureau de poste du monde entier sait gérer. Vous mettez votre bon de commande dans une telle enveloppe. Le réseau (par exemple Internet) est le service postal. Vous mettez votre enveloppe dans le courrier. Les employés du service postal ne regardent pas à l'intérieur de l'enveloppe. Le code XML de la charge utile est le bon de commande que vous avez inclus dans l'enveloppe. Une fois que le bureau de poste a livré l'enveloppe, le fournisseur de services Web ouvre l'enveloppe et traite le bon de commande. Si vous avez créé et rempli le formulaire correctement,
la source
En termes simples si vous disposez d'un service web de calculatrice. WSDL décrit les fonctions que vous pouvez implémenter ou exposées au client. Par exemple: ajouter, supprimer, soustraire et ainsi de suite. 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 devons pas les comparer. Ils ont tous deux leurs propres fonctionnalités.
la source
SOAP: C'est un protocole de communication basé sur XML standard ouvert qui est utilisé pour échanger des informations de l'utilisateur vers le service Web ou vice versa. Le savon n'est que le document dans lequel les données sont organisées d'une certaine manière. Pour chaque demande et réponse, un savon séparé peut être présent.
WSDL: Dans soap, les données sont organisées d'une certaine manière et cette organisation est spécifiée dans WSDL, le type de données qui doit être utilisé est également spécifié ici. Pour la demande et la réponse, un seul WSDL sera présent
la source
Le WSDL est une sorte de contrat entre le fournisseur d'API et le client, il décrit le service web: la fonction publique, champ optionnel / obligatoire ...
Mais le message soap est une donnée transférée entre le client et le fournisseur (payload)
la source
WSDL agit comme une interface entre l'expéditeur et le destinataire.
Le message SOAP est une demande et une réponse au format xml.
comparaison avec java RMI
WSDL est la classe d'interface. Le
message SOAP est le message de demande et de réponse marshalé.
la source
Nous pouvons considérer un appel téléphonique dans ce numéro est wsdl et l'échange d'informations est savon.
WSDL est la description de la connexion avec le serveur de communication. SOAP est d'avoir des messages de communication.
la source