Ejemplo: Cómo obtener mensajes de un punto de extracción WS-Notification

Utilice esta tarea para escribir el código para un cliente JAX-RPC que actúa en el rol de consumidor del estilo de extracción y solicita mensajes de un punto de extracción, según el extracto del código de ejemplo proporcionado.

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.

En WebSphere Application Server hay dos implementaciones del servicio WS-Notification: la Versión 6.1 y la Versión 7.0. Este ejemplo de JAX-RPC puede interactuar satisfactoriamente con los puntos de servicio WS-Notification Versión 6.1 o Versión 7.0. Sin embargo, si desea utilizar WS-Notification con conjuntos de políticas, por ejemplo para habilitar la integración con WS-ReliableMessaging, las aplicaciones WS-Notification deben codificarse para utilizar el modelo de programación JAX-WS (API de Java para servicios web XML) y deben interactuar con los puntos de servicio WS-Notification Versión 7.0. Si no está familiarizado con la programación de aplicaciones cliente JAX-WS, consulte los temas siguientes:

Para escribir el código para un cliente JAX-RPC que actúa en el rol de consumidor del estilo de extracción y solicita mensajes de un punto de extracción, realice los pasos siguientes, haciendo referencia a la extracción de código de ejemplo para obtener más información.

Procedimiento

  1. Busque el servicio JAX-RPC. El nombre JNDI es específico a su implementación de cliente de servicios web.
  2. Obtenga un archivo de apéndice (stub) para el puerto en el que desea invocar las operaciones
  3. Asocie la solicitud con un punto de extracción. El pullPointEPR es la EndpointReference que se devuelve después de invocar la operación CreatePullPoint.
  4. Especifique el número de mensajes que desea recuperar.
  5. Cree cualquier información opcional.
  6. Cree la información de la solicitud.
  7. Invoque la operación GetMessages mediante la llamada al método asociado en el archivo de apéndice (stub).
  8. Obtenga los mensajes devueltos de la respuesta.

Ejemplo

El siguiente código de ejemplo describe un cliente JAX-RPC que actúa en el rol de consumidor del estilo de extracción y solicita mensajes de un punto de extracción:

// Buscar 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);

// Asocie la solicitud con un punto de extracción. El pullPointEPR es la EndpointReference devuelta
// desde la invocación de la operación CreatePullPoint
((Stub) stub)._setProperty(WSAConstants.WSADDRESSING_DESTINATION_EPR, pullPointEPR);

// Especifique el número de mensajes que desea recuperar
Integer numberOfMessages = new Integer(2);

// Cree cualquier información opcional
SOAPElement[] optionalInformation = new SOAPElement[] {};

// Cree la información de la solicitud
GetMessages request = new GetMessages(numberOfMessages, optionalInformation);

// Invoque la operación GetMessages mediante la llamada al método asociado en el archivo de apéndice (stub)
GetMessagesResponse response = stub.getMessages(request);

// Obtenga los mensajes devueltos de la respuesta
NotificationMessage[] messages = response.getMessages();

Icon that indicates the type of topic Task topic



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