Tutoriel XML

ACCUEIL XML Introduction XML XML Comment utiliser Arbre XML Syntaxe XML Éléments XML Attributs XML Espaces de noms XML Affichage XML Requête HTTP XML Analyseur XML DOM XML XPath XML XML XSLT XQuery XML XMLXLink Validateur XML DTD XML Schéma XML Serveur XML Exemples XML XML Quiz Certificat XML

XMLAJAX

Présentation d'AJAX AJAX XMLHttp Requête AJAX Réponse AJAX Fichier XML AJAX PHP AJAX ASP AJAX Base de données AJAX Applications AJAX Exemples AJAX

DOM XML

Présentation du DOM Nœuds DOM Accès au DOM Informations sur le nœud DOM Liste des nœuds DOM Traversée du DOM Navigation DOM DOM Obtenir des valeurs Nœuds de changement DOM DOM Supprimer les nœuds DOM Remplacer les nœuds DOM Créer des nœuds DOM Ajouter des nœuds Nœuds de clonage DOM Exemples DOM

Tutoriel XPath

Présentation de XPath Nœuds XPath Syntaxe XPath Axes XPath Opérateurs XPath Exemples XPath

Tutoriel XSLT

Présentation de XSLT Langages XSL Transformation XSLT XSLT <modèle> XSLT <valeur-de> XSLT <pour-chaque> XSLT <sort> XSLT <si> XSLT <choisir> Appliquer XSLT XSLT sur le client XSLT sur le serveur XSLT Éditer XML Exemples XSLT

Tutoriel XQuery

Présentation de XQuery Exemple XQuery XQuery FLWOR XQuery HTML Termes XQuery Syntaxe XQuery Ajouter XQuery Sélection XQuery Fonctions XQuery

DTD XML

Présentation de la DTD Blocs de construction DTD Éléments DTD Attributs DTD Éléments DTD vs Attr Entités DTD Exemples de DTD

Schéma XSD

Présentation XSD Comment XSD XSD <schéma> Éléments XSD Attributs XSD Restrictions XSD

Complexe XSD

Éléments XSD XSD vide Éléments XSD uniquement Texte XSD uniquement XSD Mixte Indicateurs XSD XSD <tout> XSD <anyAttribute> Remplacement XSD Exemple XSD

Données XSD

Chaîne XSD Date XSD Numérique XSD Divers XSD Référence XSD

Services Web

Services XML XMLWSDL SAVON XML XML RDF XML RSS

Les références

Types de nœuds DOM Nœud DOM Liste de nœuds DOM DOM NamedNodeMap Documents DOM Élément DOM Attribut DOM Texte DOM DOM CDATA DOM Comment DOM XMLHttpRequest Analyseur DOM Éléments XSLT Fonctions XSLT/XPath

XMLWSDL _


  • WSDL signifie Web Services Description Language
  • WSDL est utilisé pour décrire les services Web
  • WSDL est écrit en XML
  • WSDL est une recommandation du W3C du 26 juin 2007

Documents WSDL

Un document WSDL décrit un service Web. Il précise la localisation du service, et les modalités du service, à l'aide de ces éléments majeurs :

Element Description
<types> Defines the (XML Schema) data types used by the web service
<message> Defines the data elements for each operation
<portType> Describes the operations that can be performed and the messages involved.
<binding> Defines the protocol and data format for each port type

La structure principale d'un document WSDL ressemble à ceci :

<definitions>

<types>
  data type definitions........
</types>

<message>
  definition of the data being communicated....
</message>

<portType>
  set of operations......
</portType>

<binding>
  protocol and data format specification....
</binding>

</definitions>


Exemple WSDL

Ceci est une fraction simplifiée d'un document WSDL :

<message name="getTermRequest">
  <part name="term" type="xs:string"/>
</message>

<message name="getTermResponse">
  <part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
  <operation name="getTerm">
    <input message="getTermRequest"/>
    <output message="getTermResponse"/>
  </operation>
</portType>

Dans cet exemple, l' élément <portType> définit "glossaryTerms" comme nom d'un port et "getTerm" comme nom d'une opération .

L'opération "getTerm" a un message d'entrée appelé "getTermRequest" et un message de sortie appelé "getTermResponse".

Les éléments <message> définissent les parties de chaque message et les types de données associés.


L'élément <portType>

L'élément <portType> définit un service Web , les opérations pouvant être effectuées et les messages impliqués.

Le type de requête-réponse est le type d'opération le plus courant, mais WSDL définit quatre types :

Type Definition
One-way The operation can receive a message but will not return a response
Request-response The operation can receive a request and will return a response
Solicit-response The operation can send a request and will wait for a response
Notification The operation can send a message but will not wait for a response

Fonctionnement unidirectionnel WSDL

Un exemple d'opération à sens unique :

<message name="newTermValues">
  <part name="term" type="xs:string"/>
  <part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
  <operation name="setTerm">
    <input name="newTerm" message="newTermValues"/>
  </operation>
</portType >

Dans l'exemple ci-dessus, le portType "glossaryTerms" définit une opération unidirectionnelle appelée "setTerm".

L'opération "setTerm" permet l'entrée de nouveaux messages de termes de glossaire à l'aide d'un message "newTermValues" avec les paramètres d'entrée "term" et "value". Cependant, aucune sortie n'est définie pour l'opération.


Opération de requête-réponse WSDL

Un exemple d'opération requête-réponse :

<message name="getTermRequest">
  <part name="term" type="xs:string"/>
</message>

<message name="getTermResponse">
  <part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
  <operation name="getTerm">
    <input message="getTermRequest"/>
    <output message="getTermResponse"/>
  </operation>
</portType>

Dans l'exemple ci-dessus, le portType "glossaryTerms" définit une opération de requête-réponse appelée "getTerm".

L'opération "getTerm" nécessite un message d'entrée appelé "getTermRequest" avec un paramètre appelé "term", et renverra un message de sortie appelé "getTermResponse" avec un paramètre appelé "value".


Liaison WSDL à SOAP

Les liaisons WSDL définissent le format de message et les détails du protocole pour un service Web.

Un exemple d'opération requête-réponse :

<message name="getTermRequest">
  <part name="term" type="xs:string"/>
</message>

<message name="getTermResponse">
  <part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
  <operation name="getTerm">
    <input message="getTermRequest"/>
    <output message="getTermResponse"/>
  </operation>
</portType>

<binding type="glossaryTerms" name="b1">
   <soap:binding style="document"
   transport="http://schemas.xmlsoap.org/soap/http" />
   <operation>
     <soap:operation soapAction="http://example.com/getTerm"/>
     <input><soap:body use="literal"/></input>
     <output><soap:body use="literal"/></output>
  </operation>
</binding>

L' élément de liaison a deux attributs - name et type.

L'attribut name (vous pouvez utiliser le nom de votre choix) définit le nom de la liaison, et l'attribut type pointe vers le port de la liaison, dans ce cas le port "glossaryTerms".

L' élément soap:binding a deux attributs - style et transport.

L'attribut style peut être "rpc" ou "document". Dans ce cas, nous utilisons document. L'attribut transport définit le protocole SOAP à utiliser. Dans ce cas, nous utilisons HTTP.

L' élément operation définit chaque opération que le portType expose.

Pour chaque opération, l'action SOAP correspondante doit être définie. Vous devez également spécifier comment l'entrée et la sortie sont codées. Dans ce cas, nous utilisons "littéral".