Ejemplo: Realización de una pausa en una suscripción WS-Notification
Utilice esta tarea para escribir el código para un cliente JAX-RPC que actúa en el rol de suscriptor y realiza una pausa en una suscripción para una aplicación de consumidor, 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.
Procedimiento
- Busque el servicio JAX-RPC. El nombre JNDI es específico a su implementación de cliente de servicios web. La operación PauseSubscription pertenece al servicio SubscriptionManager.
- Obtenga un archivo de apéndice (stub) para el puerto en el que desea invocar las operaciones
- Asocie la solicitud con la suscripción en la que desea realizar una pausa. subscriptionEPR es la EndpointReference que devuelve la invocación de la operación de suscripción.
- Cree cualquier información opcional.
- Invoque la operación PauseSubscription mediante la llamada al método asociado en el archivo de apéndice (stub).
Ejemplo
El siguiente código de ejemplo describe un cliente JAX-RPC que actúa en el rol del suscriptor y realiza una pausa en una suscripción para una aplicación de consumidor :
// Buscar el servicio JAX-RPC. El nombre JNDI es
específico a su implementación de cliente de servicios web.
// La operación PauseSubscription pertenece al servicio SubscriptionManager
InitialContext context = new InitialContext();
javax.xml.rpc.Service service = (javax.xml.rpc.Service) context.lookup("java:comp/env/services/SubscriptionManager");
// Obtenga un archivo de apéndice (stub) para el puerto en el que desea invocar las operaciones
SubscriptionManager stub = (SubscriptionManager) service.getPort(SubscriptionManager.class);
// Asocie la solicitud con la suscripción en la que desea realizar una pausa. subscriptionEPR es la
// EndpointReference devuelta por la invocación de la operación de suscripción
((Stub) stub)._setProperty(WSAConstants.WSADDRESSING_DESTINATION_EPR, subscriptionEPR);
// Cree cualquier información opcional
SOAPElement[] optionalInformation = new SOAPElement[] {};
// Invoque la operación PauseSubscription mediante la llamada al método asociado en el archivo de apéndice (stub)
SOAPElement[] additionalReturnedInformation = stub.pauseSubscription(optionalInformation);