WSIFOperation: contexto

Aunque WSDL (Web Services Description Language) no define el contexto, un número de usos de WSIF (Web Services Invocation Framework) requiere que se pueda pasar el contexto al puerto que está invocando el servicio.

Por ejemplo, un puerto SOAP a través de HTTP puede necesitar un nombre de usuario HTTP y una contraseña. Esta información es específica de la invocación pero no es un parámetro del servicio. En general, el contexto se ha definido como un conjunto de pares de nombre/valor. No obstante, debido a que los servicios web suelen definir los tipos de datos utilizando tipos de esquemas XML, WSIF representa los pares de nombre/valor del contexto utilizando la misma representación que utilizan las clases WSIFMessage, es decir, se trata de un conjunto de componentes con nombre, cada uno de los cuales es igual a una instancia de un tipo de esquema XML.

Los métodos setContext y getContext de la interfaz WSIFOperation se utilizan para pasar información de contexto al enlace. La implementación del puerto puede utilizar este contexto para, por ejemplo, actualizar una cabecera SOAP. No hay ninguna definición de cómo un puerto puede utilizar el contexto.

El parámetro de los métodos setContext y getContext es una interfaz WSIFMessage, y esta interfaz tiene componentes con nombres que definen la información de contexto. La clase WSIFConstants define las constantes para los nombres de componentes que se pueden establecer en una interfaz WSIFMessage de contexto.

El fragmento de código siguiente muestra cómo se establece el nombre de usuario y la contraseña de la autenticación HTTP básica:

 // establecer una cabecera de autenticación básica
    WSIFMessage headers = new WSIFDefaultMessage(); 
    headers.setObjectPart( WSIFConstants.CONTEXT_HTTP_USER, "nombre_usuario" );
    headers.setObjectPart( WSIFConstants.CONTEXT_HTTP_PSWD, "contraseña" );
    operation.setContext( headers );     

La interfaz WSIFOperation ignora las partes del contexto a las que no da soporte. Por ejemplo, el proveedor Java™ de WSIF ignora el código anterior.

La clase WSIFConstants incluye las constantes siguientes que se pueden utilizar para nombres de componentes de contexto:

Se espera que los valores de cabecera HTTP sean del tipo String y que el valor de cabecera SOAP sea del tipo java.util.List, que debe contener entradas del tipo org.w3c.dom.Element.


Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwsf_context
File name: rwsf_context.html