Exemplo: Criando um Ponto de Pull do WS-Notification
Use esta tarefa para registrar o código de um cliente assinante JAX-RPC. Esse cliente cria um ponto de Pull para ser usado por aplicativos consumidores que usam notificações de estilo de Pull.
Sobre Esta Tarefa
Esse exemplo é baseado no uso de APIs Java™ API for XML-based remote procedure calls (JAX-RPC) com código gerado usando a ferramenta WSDL2Java (executada com relação ao WSDL do Broker de Notificação gerado como resultado da criação do ponto de serviço WS-Notification) e as APIs e SPIs do WebSphere Application Server.
Para gravar o código de um cliente JAX-RPC que atua na função de assinante, criando um ponto de Pull para ser usado por um aplicativo consumidor que deseja usar notificações de estilo de Pull, conclua as etapas a seguir, consultando a extração do código de exemplo para obter informações adicionais.
Procedimento
- Procure o serviço JAX-RPC. O nome JNDI é específico de sua implementação do cliente de serviço da web.
- Obtenha um stub para a porta na qual deseja chamar operações.
- Crie as informações da solicitação.
- Chame a operação CreatePullPoint, chamado o método associado no stub.
- Recupere a referência ao ponto de Pull na resposta.
- Recupere informações adicionais na resposta.
Exemplo
O código de exemplo a seguir descreve um cliente JAX-RPC que atua na função de assinante, criando um ponto de Pull para ser usado por um aplicativo consumidor que deseja usar notificações de estilo de Pull:
// 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);
// Criar as informações do pedido.
SOAPElement[] optionalInformation = null;
CreatePullPoint cpp = new CreatePullPoint(optionalInformation);
// Chamar a operação CreatePullPoint chamando o método associado no stub
CreatePullPointResponse response = stub.createPullPoint(cpp);
// Recuperar a referência ao ponto de pull da resposta
EndpointReference pullPointEPR = response.getPullPoint();
// Recuperar informações adicionais da resposta
SOAPElement[] additionalInformation = response.getElements();