Habilitación de soporte de direccionamiento de servicios web para aplicaciones JAX-WS
El soporte de Web Services Addressing (WS-Addressing) ofrece mecanismos para direccionar los servicios web y proporciona información de direccionamiento en los mensajes. Para aplicaciones JAX-WS, puede habilitar el soporte de WS-Addressing de varias formas, como configurando conjuntos de políticas o utilizando anotaciones en el código.
Acerca de esta tarea
Realice esta tarea para habilitar el soporte de WS-Addressing, ya sea como proveedor de servicios o como cliente de un servicio proporcionado por otra parte.
- Modifique el comportamiento del soporte de WS-Addressing una vez que la aplicación se ha desplegado, conectando un conjunto de políticas a la aplicación. Dentro del conjunto de políticas, puede configurar el tipo de política de WS-Addressing para especificar si la información de WS-Addressing es necesaria para los mensajes de entrada y si se debe utilizar la mensajería síncrona o asíncrona. Puede comunicar la configuración de la política WS-Addressing a otros servidores y clientes que tengan soporte para WS-Policy, habilitando la compartición de políticas en el servidor, y aplicando la política de proveedor en el cliente. Este método altera temporalmente otros métodos.
- Utilice los elementos del descriptor de despliegue dentro de un elemento port-component.
- Modifique el comportamiento del soporte de WS-Addressing durante el desarrollo del servicio utilizando las anotaciones Addressing o SubmissionAddressing en el código de servicio. Dentro de cada anotación, puede especificar si WS-Addressing está habilitado en el servidor, si el servidor precisa información de WS-Addressing en los mensajes entrantes y el patrón de intercambio de mensajes que utilizará el servidor. La presencia de la anotación Addressing en el código añade un elemento UsingAddressing y una aserción WS-Policy a cualquier documento WSDL que se genera para el servicio.
- Modifique el comportamiento del soporte de WS-Addressing durante el desarrollo del servicio mediante la adición de elementos UsingAddressing o las aserciones WS-Policy en el documento WSDL. Si proporciona su propio documento WSDL, en lugar de basarse en el entorno de ejecución JAX-WS para generar uno, y el documento WSDL lo consumen clientes que no son JAX-WS 2.2, puede que desee incluir el elemento UsingAddressing ya que estos clientes no procesarán las aserciones WS-Policy.
- Conecte un conjunto de políticas al artefacto de cliente y efectúe una de las acciones
siguientes:
- Especifique en la política que WS-Addressing es obligatorio.
- Aplique las políticas de cliente y proveedor. En este caso, el soporte de WS-Addressing está habilitado en el cliente únicamente si la compartición de políticas está habilitada en el proveedor de servicios y la configuración de políticas del proveedor especifica que WS-Addressing es obligatorio.
- Establezca la propiedad com.ibm.websphere.webservices.use.async.mep en el contexto de solicitud del cliente.
- Utilice la SPI de WS-Addressing propia de IBM® para añadir propiedades de direccionamiento de mensajes al contexto de la solicitud de mensajes.
- Utilice los elementos del descriptor de despliegue dentro de un elemento port-component-ref.
- Utilice la anotación Addressing en combinación con la anotación WebServiceRef en el código de cliente (cuando utiliza una referencia de proxy de servicios web inyectada).
- Utilice las características de direccionamiento del código del cliente. Las propiedades establecidas utilizando este método sustituyen las establecidas en el documento WSDL para el servicio.
- Utilice las aserciones WS-Policy del documento WSDL para especificar el soporte de WS-Addressing. Si añade anotaciones Addressing a su código de aplicación cliente, el documento WSDL generado contendrá aserciones WS-Policy.
- Especifique el elemento UsingAddressing en el documento WSDL para el servicio. Si el servicio utiliza la anotación Addressing y genera el documento WSDL a partir del código, el elemento UsingAddressing ya existe.
Las tablas siguientes resumen el comportamiento del soporte de WS-Addressing. Utilice esta tabla para determinar si un mensaje de solicitud se acepta para los valores del cliente que no implican configuración de políticas.
Valores del cliente | Valores de políticas del proveedor | Valores WSDL del proveedor (Atributo UsingAddressing required) | ||||||
---|---|---|---|---|---|---|---|---|
WS-Addressing es opcional | WS-Addressing es obligatorio1 | |||||||
Síncrono y asíncrono | Sólo síncrono | Sólo asíncrono | Síncrono y asíncrono | Sólo síncrono | Sólo asíncrono | false (WS-Addressing es opcional) | true (WS-Addressing es obligatorio1) | |
Soporte de WS-Addressing y estilo de mensajería síncrono | Mensaje aceptado | Mensaje aceptado | Error | Mensaje aceptado | Mensaje aceptado | Error | Mensaje aceptado | Mensaje aceptado |
Soporte de WS-Addressing y estilo de mensajería asíncrono | Mensaje aceptado | Error | Mensaje aceptado | Mensaje aceptado | Error | Mensaje aceptado | Mensaje aceptado | Mensaje aceptado |
Soporte de WS-Addressing no habilitado y estilo de mensajería síncrono | Mensaje aceptado | Mensaje aceptado | Mensaje aceptado2 | Error | Error | Error | Mensaje aceptado | Error |
Soporte de WS-Addressing no habilitado y estilo de mensajería asíncrono3 | Error | Error | Error | Error | Error | Error | Error | Error |
- Si WS-Addressing es obligatorio, se rechazan todas las solicitudes sin cabeceras WS-Addressing.
- El estilo de mensajería sólo se aplica si las cabeceras WS-Addressing están presentes en la solicitud.
- La mensajería asíncrona no es posible sin las cabeceras WS-Addressing.
Utilice la tabla siguiente para determinar si un mensaje de solicitud se acepta cuando el cliente y el proveedor tienen una configuración de políticas de WS-Addressing; el cliente ha aplicado políticas de cliente y de proveedor; la compartición de políticas está habilitada en el servidor.
Valores de política del proveedor | Valores de políticas del proveedor | |||||
---|---|---|---|---|---|---|
WS-Addressing es opcional | WS-Addressing es obligatorio | |||||
Síncrono y asíncrono | Sólo síncrono | Sólo asíncrono | Síncrono y asíncrono | Sólo síncrono | Sólo asíncrono | |
WS-Addressing opcional y estilo de mensajería síncrono y asíncrono | Mensaje aceptado | Mensaje aceptado | Mensaje aceptado | Mensaje aceptado | Mensaje aceptado | Mensaje aceptado |
WS-Addressing opcional y estilo de mensajería sólo síncrono | Mensaje aceptado | Mensaje aceptado | Mensaje aceptado1 | Mensaje aceptado | Mensaje aceptado | Error |
WS-Addressing opcional y estilo de mensajería sólo asíncrono2 | Error | Error | Error | Mensaje aceptado | Error | Mensaje aceptado |
WS-Addressing obligatorio y estilo de mensajería síncrono y asíncrono | Mensaje aceptado | Mensaje aceptado | Mensaje aceptado | Mensaje aceptado | Mensaje aceptado | Mensaje aceptado |
WS-Addressing obligatorio y estilo de mensajería sólo síncrono | Mensaje aceptado | Mensaje aceptado | Error | Mensaje aceptado | Mensaje aceptado | Error |
WS-Addressing obligatorio y estilo de mensajería sólo asíncrono | Mensaje aceptado | Error | Mensaje aceptado | Mensaje aceptado | Error | Mensaje aceptado |
- El estilo de mensajería sólo se aplica si las cabeceras WS-Addressing están presentes en la solicitud.
- La mensajería asíncrona no es posible sin las cabeceras WS-Addressing.
Procedimiento
- Para modificar el comportamiento del soporte de WS-Addressing creando o modificando conjuntos de políticas en el proveedor de servicios o el cliente, consulte el tema: Habilitación de soporte de direccionamiento de servicios web para aplicaciones JAX-WS utilizando los conjuntos de políticas.
- Establezca la propiedad com.ibm.websphere.webservices.use.async.mep en el contexto de solicitud del cliente cuando se utilizan clientes WebSphere Application Server para habilitar el soporte de WS-Addressing. Para obtener más información, consulte el tema Invocación asíncrona de los servicios web JAX-WS.
- Para modificar el comportamiento del soporte de WS-Addressing utilizando el descriptor de despliegue de la aplicación de servicio o cliente, consulte el tema: Habilitación de soporte de direccionamiento de servicios web para aplicaciones JAX-WS usando descriptores de despliegue.
- Para modificar el comportamiento del soporte de WS-Addressing mediante programación utilizando las anotaciones de direccionamiento en la aplicación de servicio, o en el cliente con una referencia de proxy de servicio web inyectada, consulte el tema: Habilitación de soporte de direccionamiento de servicios web para aplicaciones JAX-WS usando anotaciones de direccionamiento.
- Para habilitar el soporte de WS-Addressing mediante programación en el cliente creando una instancia de una clase de característica de direccionamiento, consulte el tema: Habilitación de soporte de direccionamiento de servicios web para aplicaciones JAX-WS usando características de direccionamiento.
- Para modificar el comportamiento del soporte de WS-Addressing durante el desarrollo de un cliente o aplicación de servicio añadiendo aserciones WS-Policy en el archivo WSDL, consulte el tema: Habilitación del soporte de Web Services Addressing para aplicaciones JAX-WS utilizando WS-Policy.
Resultados
Las propiedades de WS-Addressing ahora se incluyen en la cabecera de mensaje SOAP y el servidor las procesa al recibir el mensaje.