Présentation de l'adressage des services Web (WS-Addressing)
Web Services Addressing (WS-Addressing) est une spécification W3C (World Web Consortium) qui facilite l'interopérabilité entre les services Web en définissant un mode standard d'adressage des services Web et fournit des informations d'adressage dans les messages. La spécification WS-Addressing intègre deux concepts fondamentaux : les références de noeud final et les propriétés d'adressage de messages. Pour plus d'informations, voir les spécifications WS-Addressing.
Références de noeuds finaux
Les références de noeuds finaux offrent un mécanisme standard
d'encapsulation des informations relatives à des noeuds finaux spécifiques. Les
références de noeuds finaux peuvent être propagées aux autres parties puis utilisées pour cibler le noeud
final de services Web qu'elles représentent.
Le tableau suivant présente le modèle d'informations pour les références de noeuds finaux.
Le préfixe suivant et l'espace de nom correspondant sont utilisés dans le tableau précédent.
Nom de propriété abstraite en utilisant la convention de notation du jeu de d'informations XML W3C | Type de propriété | Multiplicité | Description |
---|---|---|---|
[adresse] | xs:anyURI | 1..1 | URI absolu spécifiant l'adresse du noeud final. |
[reference parameters]* | xs:any | 0..unbounded | Informations d'élément qualifié d'espace de nom qui sont requises pour interagir avec le noeud final. |
[métadonnées] | xs:any | 0..unbounded | Description du comportement, des stratégies et des possibilités du noeud final. |
Préfixe | Espace de nom |
---|---|
xs | http://www.w3.org/2001/XMLSchema |
Le fragment XML suivant illustre une référence de noeud final. Cet élément référence le noeud final à l'URI http://example.com/fabrikam/acct,
contient des métadonnées spécifiant l'interface à laquelle se réfère la référence de noeud final et contient des paramètres de référence définis par l'application de l'espace de nom http://example.com/fabrikam.
<wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"
xmlns:fabrikam="http://example.com/fabrikam"
xmlns:wsdli="http://www.w3.org/2005/08/wsdl-instance"
wsdli:wsdlLocation="http://example.com/fabrikam
http://example.com/fabrikam/fabrikam.wsdl">
<wsa:Address>http://example.com/fabrikam/acct</wsa:Address>
<wsa:Metadata>
<wsam:InterfaceName>fabrikam:Inventory</wsam:InterfaceName>
</wsa:Metadata>
<wsa:ReferenceParameters>
<fabrikam:CustomerKey>123456789</fabrikam:CustomerKey>
<fabrikam:ShoppingCart>ABCDEFG</fabrikam:ShoppingCart>
</wsa:ReferenceParameters>
</wsa:EndpointReference>
Propriétés d'adressage de messages
Les propriétés d'adressage de messages (MAP) sont un ensemble de propriétés WS-Addressing qui peuvent être représentées en tant qu'éléments d'en-têtes SOAP et qui offrent une méthode standard de transmission des informations, telle que le noeud final auquel les réponses à un message doit être envoyées, ou des informations relatives à la relation du message avec les autres messages. Les MAP définies par la spécification WS-Addressing sont répertoriées dans le tableau ci-dessous.
Les noms résumés dans les tableaux précédents permettent de se reporter aux MAP spécifiées dans cette documentation.
Nom de MAP WS-Addressing abstrait, utilisant la convention à notation du jeu de données XML W3C | Type de contenu MAP | Multiplicité | Description |
---|---|---|---|
[action] | xs:anyURI | 1..1 | URI absolu qui identifie de façon unique la sémantique du message. Cette propriété correspond à la propriété d'adresse de la référence de noeud final à laquelle le message est adressé. Cette valeur est obligatoire. |
[destination] | xs:anyURI | 1..1 | L'URI absolu qui spécifie l'adresse du destinataire du message. Cette valeur est facultative car, si elle n'est pas présente, l'URI anonyme défini dans la spécification est utilisé par défaut, indiquant ainsi que l'adresse est définie par le protocole de base. |
[reference parameters]* | xs:any | 0..unbounded | Correspond à la propriété des paramètres de référence de la référence de noeud final à laquelle le message est adressé. Cette valeur est facultative. |
[source endpoint] | EndpointReference | 0..1 | Référence au noeud final à partir duquel le message à été généré. Cette valeur est facultative. |
[reply endpoint] | EndpointReference | 0..1 | Référence de noeud final pour le destinataire des réponses de ce message. Cette valeur est facultative. |
[fault endpoint] | EndpointReference | 0..1 | Référence de noeud final pour le destinataire des erreurs liées à ce message. Cette valeur est facultative. |
[relationship]* | xs:anyURI plus attribut facultatif de type xs:anyURI | 0..unbounded | Paire de valeurs indiquant la façon dont ce message est lié à un autre message. Le contenu de cet élément spécifie l'ID de message du message associé. Un attribut facultatif spécifie le type de relation. Cette valeur est facultative. |
[message id] | xs:anyURI | URI absolu qui identifie le message de façon unique. Cette valeur est facultative. |
L'exemple de message SOAP suivant contient des MAP WS-Addressing :
<S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope"
xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:fabrikam="http://example.com/fabrikam">
<S:Header>
...
<wsa:To>http://example.com/fabrikam/acct</wsa:To>
<wsa:ReplyTo>
<wsa:Address> http://example.com/fabrikam/acct</wsa:address>
</wsa:ReplyTo>
<wsa:Action>...</wsa:Action>
<fabrikam:CustomerKey wsa:IsReferenceParameter='true'>123456789</fabrikam:CustomerKey>
<fabrikam:ShoppingCart wsa:IsReferenceParameter='true'>ABCDEFG</fabrikam:ShoppingCart>
...
</S:Header>
<S:Body>
...
</S:Body>
</S:Envelope>