API WS-Addressing propriétaires IBM

Les interfaces SPI (System Programming Interfaces) WS-Adressing (d'adressage de services Web) propriétaires IBM étendent les interfaces de programmation d'application (API) WS-Addressing propriétaires IBM pour vous permettre de créer et de traiter le contenu des références de noeud final et des autres artefacts WS-Addressing, et de définir ou d'extraire les propriétés d'adressage de message WS-Addressing (MAP) dans des messages de services Web ou à partir de ces derniers.

Vous ne pouvez pas utiliser les classes API JAX-WS standard avec ces SPI de propriété. Toutefois, vous pouvez convertir les références de noeud final créée en utilisant les classes API standard JAX-WS en instances de la classe de propriété com.ibm.websphere.wsaddressing.EndpointReference en utilisant la classe com.ibm.websphere.wsaddressing.jaxws21.EndpointReferenceConverter. Vous pouvez alors utiliser ces références de noeud final converties avec les SPI de propriété.

Les interfaces de programmation présentées dans cette rubrique sont décrites plus en détail dans la documentation IBM SPI WS-Addressing.

Création, affinage et traitement du contenu des références de noeud final

Les interfaces SPI propriétaires de création, d'affinage et de traitement du contenu des références de noeud final sont stockées dans le package com.ibm.wsspi.wsaddressing et présentées dans le schéma suivant (les deux premières API propriétaires sont étendues par les interfaces SPI) :
Pour plus de détails sur les classes et les interfaces fournis, reportez-vous à la documentation SPI.

L'interface SPI étend l'API propriétaire com.ibm.websphere.wsaddressing.EndpointReference WS-Addressing qui fournit ainsi des méthodes supplémentaires par le biais de l'interface com.ibm.wsspi.wsaddressing.EndpointReference. Vous pouvez transtyper des instances de com.ibm.websphere.wsaddressing.EndpointReference vers com.ibm.wsspi.wsaddressing.EndpointReference pour accéder à ces fonctions supplémentaires.

De même, l'instance com.ibm.wsspi.wsaddressing.EndpointReferenceManager de la SPI étend la fonctionnalité fournie dans l'API com.ibm.websphere.wsaddressing.EndpointReferenceManager.

Vous pouvez effectuer les actions suivantes à l'aide des méthodes supplémentaires fournies par les SPI EndpointReference et EndpointReferenceManager :
Création de références de noeud final
Créez des objets EndpointReference en spécifiant l'URI du point de contact que l'objet EndpointReference doit représenter à l'aide de l'opération createEndpointReference(URI) ou EndpointReferenceManager.createEndpointReference(AttributedURI). Ces méthodes diffèrent de la méthode createEndpointReference qui est fournie au niveau de l'API, puisqu'elles ne génèrent pas automatiquement l'URI pour l'instance EndpointReference. Vous pouvez utiliser ces méthodes lorsque vous vous êtes assuré que l'URI du point de contact est stable, comme par exemple dans un environnement de test sans restriction de déploiement.
Mappage d'une référence de noeud final entre les représentations XML et Java™
Vous pouvez sérialiser des instances de l'interface EndpointReference en leurs instances d'élément SOAP correspondantes à l'aide de l'opération EndpointReference.getSOAPElement. A l'inverse, vous pouvez désérialiser des éléments SOAP du type EndpointReferenceType vers leur représentation Java EndpointReference correspondante à l'aide de l'opération EndpointReference.createEndpointReference(SOAPElement). Ces interfaces de sérialisation et de désérialisation peuvent vous permettre de créer des lieurs personnalisés pour des types contenant des instances EndpointReference.
Utilisation de types de paramètre plus complexes
Les interfaces propriétaires fournies au niveau de l'API sont limitées aux paramètres de référence de type xsd:string pour permettre la mise en oeuvre d'un modèle de programmation plus simple. Les interfaces SPI étendent cette prise en charge aux paramètres de référence de type <xsd:any>. L'interface EndpointReference fournit des mécanismes permettant d'obtenir et de définir des paramètres de référence sous forme d'éléments SOAP. En outre, la classe EndpointReferenceManager fournit l'opération getSOAPElementReferenceParameterFromMessageContext qui permet aux noeuds finaux de réception d'acquérir les paramètres de référence qui ne sont pas de type String à partir du message entrant.
Remarque : Lors de l'appel d'un service à l'aide d'un objet EndpointReference contenant un paramètre de référence, vous devez créer le paramètre de référence à l'aide d'un objet QName complet dont tous les éléments sont présents : namespace, localpart et prefix. Si l'objet QName n'est pas complet, les appels de service échouent.
Définition des contenus des références de noeud final et traitement de ces contenus
L'interface EndpointReference fournit des opérations vous permettant de définir et de traiter les contenus d'une instance EndpointReference, telles que les propriétés WS-Addressing address et metadata. Les interfaces supplémentaires sont fournies pour représenter les artefacts composant une référence de noeud final : métadonnées, URI d'attribut et nom de service. Vous pouvez créer des instances de ces interfaces à l'aide d'opérations qui sont fournies par la classe propriétaire WSAddressingFactory.
Acquisition et modification de l'espace de nom pris en charge
Le support WS-Addressing de ce produit prend en charge plusieurs espaces de nom. Les opérations setNamespace et getNamespace fournies dans l'interface propriétaire EndpointReference permettent de modifier et d'acquérir l'espace de nom associé à un objet EndpointReference spécifique. La sérialisation en éléments SOAP se fait en tenant compte de l'espace de nom de l'objet EndpointReference. Par défaut, l'espace de nom de la référence de noeud final de destination (c'est-à-dire la référence de noeud final définie comme la propriété com.ibm.websphere.wsaddressing.WSAConstants.WSADDRESSING_DESTINATION_EPR sur le contexte de demande de l'objet BindingProvider JAX-WS ou l'objet Stub ou Call JAX-RPC) définit l'espace de nom des propriétés d'adressage du message.

Définition et extraction des MAP WS-Addressing

L'interface SPI WS-Addressing propriété d'IBM fournit un certain nombre de constantes qui identifient les propriétés JAX-WS ou JAX-RPC que vous pouvez utiliser pour définir les MAP WS-Addressing sur les messages sortants, et des propriétés de contexte de message que vous pouvez utiliser pour extraire les MAP des messages entrants. Ces constantes sont présentées dans le diagramme de la classe com.wsspi.wsaddresssing.WSAConstants suivant. Le diagramme présente également les interfaces requises pour la génération des instances des types de valeur de propriété appropriés AttributedURI et Relationship. La première interface WSAConstants est une API propriétaire.
Pour plus de détails sur les classes, les interfaces et les constantes fournies, consultez la documentation de l'interface SPI.

Définition des MAP WS-Addressing sur les messages sortants :

Vous pouvez ajouter les en-têtes d'information des messages WS-Addressing aux messages sortants en définissant les propriétés appropriées sur le contexte de demande de l'objet JAX-WS BindingProvider ou l'objet Stub ou Call JAX-RPC, avant d'appeler un message avec l'objet BindingProvider, Stub, ou Call. Le tableau suivant récapitule les propriétés adéquates ainsi que leurs types.
Tableau 1. Propriétés sortantes qui peuvent être définies dans le contexte de demande d'objet BindingProvider (ou objet Module de remplacement ou Appel). Le tableau répertorie les différents noms de propriété, leurs types Java, leurs noms de MAP WS-Addressing abstraits et leurs valeurs par défaut.
Nom de propriété (de type Chaîne) Type Java de la valeur de propriété Nom de MAP WS-Addressing abstrait, utilisant la convention à notation du jeu de données XML W3C Valeur par défaut
WSADDRESSING_DESTINATION_EPR com.ibm.websphere.wsaddressing.EndpointReference

[destination] URI
[reference parameters]* (tout paramètre)

Non défini

Cette propriété provient de l'API.

WSADDRESSING_FROM_EPR com.ibm.websphere.wsaddressing.EndpointReference [source endpoint] Non défini
WSADDRESSING_REPLYTO_EPR com.ibm.websphere.wsaddressing.EndpointReference [reply endpoint] L'une ou l'autre valeur 'none', s'il s'agit d'un message unidirectionnel sans réponse, ou non défini. Pour les messages asynchrones bidirectionnels dans les applications JAX-WS, cette propriété est générée automatiquement. Si, dans cette situation, vous tentez de définir cette propriété, une exception javax.xml.ws.WebServiceException est émise. Pour les messages synchrones bidirectionnels, vous pouvez définir cette propriété uniquement si l'adresse de référence de noeud final est l'URI anonyme. Si l'adresse ne correspond pas à l'URI anonyme, une exception javax.xml.ws.WebServiceException est émise.
WSADDRESSING_FAULTTO_EPR com.ibm.websphere.wsaddressing.EndpointReference [fault endpoint] Non défini

Si vous tentez de définir cette propriété pour les messages asynchrones bidirectionnels dans les applications JAX-WS, une exception javax.xml.ws.WebServiceException est générée. Pour les messages synchrones bidirectionnels, vous pouvez définir cette propriété uniquement si l'adresse de référence de noeud final est l'URI anonyme. Si l'adresse ne correspond pas à l'URI anonyme, une exception javax.xml.ws.WebServiceException est émise.

WSADDRESSING_RELATIONSHIP_SET java.util.Set contenant des instances de com.ibm.wsspi.wsaddressing.Relationship [relationship] Non défini
WSADDRESSING_MESSAGE_ID com.ibm.wsspi.wsaddressing.AttributedURI [message id] Généré et défini sur une valeur unique
WSADDRESSING_ACTION com.ibm.wsspi.wsaddressing.AttributedURI [action] Généré et défini conformément à la spécification WS-Addressing
WSADDRESSING_OUTBOUND_NAMESPACE String (chaîne) none Si spécifié, l'espace de nom WS-Addressing de la propriété WSADDRESSING_DESTINATION_EPR ; sinon, l'espace de nom par défaut

Extraction de MAP WS-Addressing à partir de messages entrants :

Les en-têtes d'informations de message WS-Addressing qui correspondent au dernier message entrant sont disponibles dans les propriétés entrantes définies dans la classe WSAConstants. Le tableau suivant récapitule les propriétés entrantes disponibles. Vous pouvez acquérir les paramètres de référence à partir du contexte du message via l'interface propriétaire EndpointReferenceManager.getReferenceParameter.
Tableau 2. Propriétés entrantes que vous pouvez obtenir depuis le contexte de message. Le tableau répertorie les différents noms de propriété, leurs types Java et leurs noms de MAP WS-Addressing abstraits équivalents.
Nom de propriété du contexte du message (de type Chaîne) Type Java de la valeur de propriété Nom de MAP WS-Addressing abstrait, utilisant la convention à notation du jeu de données XML W3C
WSADDRESSING_INBOUND_TO com.ibm.wsspi.wsaddressing.AttributedURI [destination]
Pas de propriété spécifique. Pour obtenir le MAP associé, utilisez la méthode EndpointReferenceManager.getReferenceParameter(QName name). Tout type [reference parameters]*
WSADDRESSING_INBOUND_FROM_EPR com.ibm.websphere.wsaddressing.EndpointReference [source endpoint]
WSADDRESSING_INBOUND_REPLYTO_EPR com.ibm.websphere.wsaddressing.EndpointReference [reply endpoint]
WSADDRESSING_INBOUND_FAULTTO_EPR com.ibm.websphere.wsaddressing.EndpointReference [fault endpoint]
WSADDRESSING_INBOUND_RELATIONSHIP java.util.Set contenant des instances de com.ibm.wsspi.wsaddressing.Relationship [relationship]
WSADDRESSING_INBOUND_MESSAGE_ID com.ibm.wsspi.wsaddressing.AttributedURI [message id]
WSADDRESSING_INBOUND_ACTION com.ibm.wsspi.wsaddressing.AttributedURI [action]
WSADDRESSING_INBOUND_NAMESPACE Chaîne Espace de nom WS-Addressing du message entrant

Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_wsa_spi
Nom du fichier : cwbs_wsa_spi.html