Peticiones WS-MetadataExchange
Puede utilizar la solicitud GetMetadata del intercambio de metadatos de servicio Web (Web Services Metadata Exchange - WS-MetadataExchange) para intercambiar el lenguaje Web Services Description Language (WSDL) anotado con la información de WS-Policy. Un proveedor de servicios puede utilizar una petición WS-MetadataExchange para compartir sus políticas y un cliente de servicio puede utilizar una petición WS-MetadataExchange para aplicar las políticas de un proveedor. Puede proteger las peticiones WS-MetadataExchange utilizando seguridad a nivel de mensajes o seguridad a nivel de transporte.
La especificación WS-MetadataExchange define un mecanismo para recuperar metadatos desde un punto final. WebSphere Application Server dar soporte al uso de la petición GetMetadata de WS-MetadataExchange 1.1 para devolver metadatos en una respuesta. Un proveedor de servicios puede utilizar este mecanismo para que el WSDL anotado con la información WS-Policy disponible, esto es, el proveedor de servicios, pueda compartir sus políticas. Un cliente de servicio puede utilizar este mecanismo para obtener el WSDL anotado con la información de WS-Policy de un proveedor de servicios y luego aplicar dichas políticas. La configuración de política debe estar en formato WS-PolicyAttachments en el WSDL del proveedor de servicios.
Puede utilizar una solicitud WS-MetadataExchange como alternativa al uso de una solicitud HTTP GET.
Por omisión, un proveedor o cliente de servicios no utiliza WS-MetadataExchange para compartir u obtener información de WS-Policy. Debe configurar el proveedor de servicios para que comparta sus políticas o configurar el cliente de servicio para que aplique las políticas de un proveedor de servicios y especificar el uso de una petición WS-MetadataExchange para compartir u obtener la configuración de política. La información de WS-Policy se puede compartir u obtener a nivel de servicio o de aplicación. Puede configurar el proveedor o cliente de servicios utilizando la consola administrativa o los mandatos de wsadmin.
Los desarrolladores de aplicaciones pueden configurar el cliente o proveedor de servicios utilizando herramientas de Rational Application Developer cuando se genera un servicio web. Para obtener más información, consulte la documentación de Rational Application Developer.
Cuando se configura un proveedor de servicios para que comparta sus políticas a través de WS-MetadataExchange, el servicio tiene soporte para las peticiones GetMetadata entrantes de WS-MetadataExchange que están limitadas al dialecto WSDL. Cuando el servicio recibe este tipo de peticiones, el WSDL del servicio se devuelve en línea a través de una respuesta compatible con WS-MetadataExchange. El WSDL del servicio contiene anotaciones WS-PolicyAttachments que representan la configuración de política actual. La configuración de política está en formato WS-PolicyAttachments en el WSDL, con lo que estará disponible a otros clientes, registros de servicios o servicios que tengan soporte para la especificación Política de servicios web (WS-Policy) y la petición GetMetadata de WS-MetadataExchange.
Cuando se configura un cliente de servicio para que utilice WS-MetadataExchange para obtener la política de un proveedor de servicios, el cliente de servicio envía una petición GetMetadata de WS-MetadataExchange que especifica el dialecto WSDL siempre que tenga que obtener o actualizar la política del proveedor.
Seguridad WS-MetadataExchange
Debe confirmar que la petición GetMetadata está segura, de forma que haya autenticación efectiva, autorización, integridad y confidencialidad. La autenticación de principio a fin es particularmente importante para el intercambio de metadatos de seguridad (SecurityPolicy), ya que si un tercero no autorizado pudiera tener acceso a esta información, las credenciales de seguridad se podrían enviar a puntos finales que no sean de confianza.
La petición GetMetadata tiene como destino el mismo puerto que el punto final de aplicación, por lo que si la aplicación utiliza seguridad a nivel de transporte, la petición GetMetadata también tiene como destino el puerto seguro y, por omisión, utilizará la misma configuración de seguridad a nivel de transporte de la aplicación.
Además, puede aplicar seguridad a nivel de mensajes (WS-Security) al intercambio de metadatos. Es posible que quiera aplicar la seguridad a nivel de mensajes si la seguridad a nivel de transporte no está disponible en el punto final de la aplicación, o si la seguridad a nivel de transporte no es adecuada para sus necesidades. Una ventana de la seguridad a nivel de mensajes es que proporciona seguridad de principio a fin, mediante la incorporación de características de seguridad en la cabecera del mensaje SOAP.
Para proporcionar seguridad a nivel de mensajes, conecte enlaces generales (con nombre) y de conjuntos de políticas del sistema al punto final cuando configure el proveedor o cliente de servicios a las configuraciones de política de intercambio.
Los conjuntos de políticas de sistema se utilizan para mensajes del sistema que no estén relacionados con el negocio, mientras que los conjuntos de políticas de aplicación especifican aserciones de políticas para mensajes relacionados con el negocio. Por ejemplo, los conjuntos de políticas de sistema se utilizan para mensajes que aplican calidad de servicio (QoS), lo que incluye los mensajes que se definen en el protocolo WS-MetadataExchange. Para proporcionar seguridad a nivel de mensajes para una petición GetMetadata, debe conectar un conjunto de políticas de sistema que contenga sólo políticas de seguridad de servicios web (WS-Security) o de Direccionamiento de servicios web (WS-Addressing). Puede especificar enlaces generales que tengan como ámbito el dominio global o el dominio de seguridad del servicio.
Cuando aplique seguridad a nivel de mensajes, se utilizará siempre cualquier política de transporte de la aplicación.