WSIFOperation - Contexte

Même si WSDL ne définit aucun contexte, de nombreuses utilisations de la WSIF (Web Services Invocation Framework) requièrent la possibilité de transmettre le contexte au port qui appelle le service.

Par exemple, un port SOAP sur HTTP peut demander un nom d'utilisateur et un mot de passe HTTP. Ces informations sont spécifiques à l'appel, mais ne constituent pas un paramètre du service. En général, le contexte est défini par un ensemble de paires nom-valeur. Toutefois, comme les services Web ont tendance à définir les types de données au moyen de types de schéma XML, WSIF représente les paires nom-valeur du contexte en utilisant une représentation identique à celle utilisée par les classes WSIFMessage. Il s'agit d'un ensemble de parties nommées, chacune étant assimilée à une instance d'un type de schéma XML.

Les méthodes getContext et setContext de l'interface WSIFOperation permettent de transmettre des informations de contexte à la liaison. L'implémentation du port peut, par exemple utiliser ce contexte pour mettre à jour un en-tête SOAP. Il n'existe aucune définition du mode d'utilisation du contexte par un port.

Le paramètre des méthodes setContext et getContext est une interface WSIFMessage et cette dernière comporte des parties nommées qui définissent les informations de contexte. La classe WSIFConstants définit des constantes pour les noms des parties, ces constantes peuvent être définies dans une interface WSIFMessage de contexte.

Le fragment de code suivant indique comment définir le nom d'utilisateur et le mot de passe pour l'authentification de base HTTP :

 // définir un en-tête d'authentification de base
    WSIFMessage headers = new WSIFDefaultMessage(); 
    headers.setObjectPart( WSIFConstants.CONTEXT_HTTP_USER, "user name" );
    headers.setObjectPart( WSIFConstants.CONTEXT_HTTP_PSWD, "password" );
    operation.setContext( headers );     

L'interface WSIFOperation ignore les parties contextuelles non prises en charge. Par exemple, le fournisseur Java™ WSIF ignore le code précédent.

La classe WSIFConstants inclut les constantes suivantes pouvant être utilisées pour les noms de partie contextuels :

Les valeurs des en-têtes HTTP doivent être de type String et la valeur de l'en-tête SOAP de type java.util.List, qui doit contenir des entrées de type org.w3c.dom.Element.


Icône indiquant le type de rubrique Rubrique de référence



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=rwsf_context
Nom du fichier : rwsf_context.html