Académique Documents
Professionnel Documents
Culture Documents
<types>
définition des types de données ...
</types>
<message>
déclaration des messages ...
(utilisation des types de données)
</message>
<!-- ... -->
<portType>
déclaration d'une interface pour un port ...
<operation>
déclaration d'une opération de l'interface ...
(utilisation des déclarations de messages)
</operation>
<!-- ... -->
</portType>
<!-- ... -->
<binding>
définition d'une liaison entre interface de port et protocole de
communication ...
</binding>
<!-- ... -->
<service>
déclaration d'un service concret ...
<port>
définition d'un port ...
(utilisation d'une liaison)
</port>
<!-- ... -->
</service>
<!-- ... -->
</definitions>
Racine
Élément wsdl:definitions
Nom du service web (attribut name)
Espace de nommage cible pour les entités définies dans le document WSDL
(attribut targetnamespace)
Noms d'usage pour des espaces utiles de nommage :
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://soap/" <!-- target namespace -->
Types de données
Élément wsdl:types
Définition d'un schéma pour les données, fréquemment par importation d'un fichier
définissant des éléments avec leurs types
<schema xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://soap/"
schemaLocation="automate_schema1.xsd"/>
</schema>
Déclaration des messages
Interface de ports
Les déclarations des opérations sont regroupées dans des interfaces, appelées types de port.
Liaison
Une liaison relie une interface de port appartenant à la couche logique à un type de
communication particulier, SOAP généralement, HTTP possiblement, ou autre, appartenant à
la couche physique : elle concrétise physiquement la définition logique de l'interface.
Service
Ensemble de ports spécifiés par une liaison (interface reliée à un protocole) et une adresse
URI
SOAP
v1.0 en 1998
v1.2 en 2003
Structure
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" >
<soap:Header>
contenu xml ...
</soap:Header>
<soap:Body>
contenu xml ...
</soap:Body>
</soap:Envelope>
En-tête : élément soap:Header contenant des informations sur le message (identité,
signature, etc.)
Corps : élément soap:Body contenant le message, un document XML
o 4 modes de représentation pour le message : (document + rpc) x
(literal + encoded)
o Pour les services (WS-Interoperability Basic Profile) : deux modes
Document x literal : document XML conforme à un schéma
quelconque
rpc x literal : document XML conforme à un schéma particulier
représentant une commande (fonction accompagnée de ses arguments
ou de son résultat)
o Avec CXF : un mode document x literal (et pas d'en-tête) avec un schéma
représentant des commandes