Exemple : création d'un point d'extraction WS-Notification
Utilisez cette tâche afin d'écrire le code pour un client abonné JAX-RPC. Ce client crée un point d'extraction destiné aux applications client qui utilisent les notifications d'extraction de style.
Pourquoi et quand exécuter cette tâche
Cet exemple repose sur l'utilisation des API JAX-RPC (Java™ API for XML-based remote procedure calls) avec le code généré en utilisant l'outil WSDL2Java (exécuté sur le WSDL Notification Broker généré par la création du point de service WS-Notification) et les API et SPI WebSphere Application Server.
Pour écrire le code pour un client JAX-RPC ayant le rôle d'abonné, qui crée un point d'extraction qui sera utilisé par une application client qui doit utiliser des notifications de type extraction, exécutez les étapes ci-après en vous reportant au code fourni à titre d'exemple pour plus d'informations.
Procédure
- Recherchez le service JAX-RPC. Le nom JNDI est spécifique de l'implémentation du client des services Web.
- Obtenez un module de remplacement pour le port sur lequel vous souhaitez appeler des opérations.
- Créez les informations sur la demande.
- Appelez l'opération CreatePullPoint en appelant la méthode associée sur le module de remplacement.
- Récupérez la référence au point d'extraction à partir de la réponse.
- Récupérez les éventuelles informations supplémentaires à partir de la réponse.
Exemple
L'exemple suivant décrit un client JAX-RPC ayant le rôle d'abonné, qui crée un point d'extraction qui sera utilisé par une application client qui doit utiliser des notifications de type extraction :
// Look up the JAX-RPC service. The JNDI name is specific to your web services client implementation
InitialContext context = new InitialContext();
javax.xml.rpc.Service service = (javax.xml.rpc.Service) context.lookup(
"java:comp/env/services/NotificationBroker");
// Get a stub for the port on which you want to invoke operations
NotificationBroker stub = (NotificationBroker) service.getPort(NotificationBroker.class);
// Create the request information.
SOAPElement[] optionalInformation = null;
CreatePullPoint cpp = new CreatePullPoint(optionalInformation);
// Invoke the CreatePullPoint operation by calling the associated method on the stub
CreatePullPointResponse response = stub.createPullPoint(cpp);
// Retrieve the reference to the pull point from the response
EndpointReference pullPointEPR = response.getPullPoint();
// Retrieve any additional information from the response
SOAPElement[] additionalInformation = response.getElements();