Ejemplo: Cómo crear un punto de extracción WS-Notification
Utilice esta tarea para escribir el código para un cliente suscriptor JAX-RPC. Este cliente crea un punto de extracción para que lo utilicen las aplicaciones de consumidor que utilizan las notificaciones de estilo de extracción.
Acerca de esta tarea
Este ejemplo se basa en el uso de las API Java™ para las API de llamadas de procedimiento remoto basadas en XML (JAX-RPC) con el código generado mediante la herramienta WSDL2Java (se ejecuta en el WSDL del intermediario de notificaciones generado como resultado de crear el punto de servicio de WS-Notification) y las API y SPI de WebSphere Application Server.
Para escribir el código para un cliente JAX-RPC que actúa en el rol de suscriptor y crea un punto de extracción para su uso por una aplicación consumidora que tenga que utilizar las notificaciones del estilo de extracción, complete los pasos siguientes y consulte el extracto del código de ejemplo para obtener más información.
Procedimiento
- Busque el servicio JAX-RPC. El nombre JNDI es específico a su implementación de cliente de servicios web.
- Obtenga un archivo de apéndice (stub) para el puerto en el que desea invocar las operaciones
- Cree la información de la solicitud.
- Invoque la operación CreatePullPoint mediante la llamada al método asociado en el apéndice.
- Recupere la referencia en el punto de extracción procedente de la respuesta.
- Recupere cualquier información adicional de la respuesta.
Ejemplo
El siguiente código de ejemplo describe un cliente JAX-RPC que actúa en el rol de suscriptor y crea un punto de extracción para su uso por una aplicación consumidora que tenga que utilizar las notificaciones del estilo de extracción:
// Busque el servicio JAX-RPC. El nombre JNDI es específico a su
implementación de cliente de servicios web
InitialContext context = new InitialContext();
javax.xml.rpc.Service service = (javax.xml.rpc.Service) context.lookup(
"java:comp/env/services/NotificationBroker");
// Obtenga un archivo de apéndice (stub) para el puerto en el que desea invocar las operaciones
NotificationBroker stub = (NotificationBroker) service.getPort(NotificationBroker.class);
// Cree la información de la solicitud.
SOAPElement[] optionalInformation = null;
CreatePullPoint cpp = new CreatePullPoint(optionalInformation);
// Invoque la operación CreatePullPoint mediante la llamada al método asociado en el archivo de apéndice (stub)
CreatePullPointResponse response = stub.createPullPoint(cpp);
// Recupere la referencia en el punto de extracción procedente de la respuesta
EndpointReference pullPointEPR = response.getPullPoint();
// Recupere cualquier información adicional de la respuesta
SOAPElement[] additionalInformation = response.getElements();