Implementando Clientes de Serviços da Web JAX-RPC
É possível desenvolver clientes de serviços da web baseados nos serviços da web para a especificação Java™ Platform, Enterprise Edition (Java EE) e no modelo de programação Java API for XML-based RPC (JAX-RPC).
Antes de Iniciar

Sobre Esta Tarefa
- Desenvolvendo clientes de serviços da web baseados no modelo de programação JAX-RPC
O modelo de programação de clientes de serviços da web fornece as diretrizes necessárias para acessar os serviços da web em um ambiente Java EE. É possível desenvolver clientes de serviços da web baseados nos serviços da web para a especificação Java Platform, Enterprise Edition (Java EE) e a especificação Java API for XML-based remote procedure call (JAX-RPC). O servidor de aplicativos suporta clientes Enterprise JavaBeans (EJB), aplicativos clientes Java EE, arquivos JavaServer Pages (JSP) e servlets que são baseados no modelo de programação JAX-RPC.
- Clientes de serviços da web JAX-RPC web gerenciados e não gerenciados
Ao usar o modelo de programação JAX-RPC, o servidor de aplicativos suporta clientes de serviços da web gerenciados e não gerenciados:
- Clientes Gerenciados
Os clientes Web services for Java EE são definidos pelo JSR (Java Specification Requirements) 109 e são clientes gerenciados por serem executados em um contêiner de Java EE. Esses clientes são empacotados como arquivos EAR (enterprise archive) e contêm componentes que agem como solicitantes de serviços. Esses componentes são compostos de um aplicativo clienteJava EE, um solicitações da web como um servlet ou JavaServer Pages (JSP), ou um Enterprise JavaBeans (EJB) de sessão. Clientes gerenciados de serviços da Web usam APIs JSR 109 e informações de implementação para consultar e chamar um serviço da Web.
Para os clientes gerenciados, a consulta de serviços é feita por meio da consulta Java Naming and Directory Interface (JNDI). Consulte sobre a configuração da Segurança de Serviços da Web do token UserName, Segurança de Serviços da Web de assinatura digital e Segurança de Serviços da Web do token Lightweight Third-Party Authentication (LTPA). O código a seguir é um exemplo de uma consulta de contexto compatível com JSR 109:
InitialContext ctx = new InitialContext(); FredsBankServiceLocator locator =(FredsBankService)ctx.lookup("java:comp/env/service/FredsBankService"); FredsBank fb = locator.getFredsBank(url); long balance = fb.getBalance();
Quando estiver instanciando uma consulta de contexto para um cliente gerenciado, não use o método new() para o localizador de serviço. Aqui está um exemplo que não é compatível com JSR 109 (novo ServiceLocator):
Properties prop = new Properties(); InitialContext ctx = new InitialContext(prop); FredsBankServiceLocator locator = new FredsBankServiceLocator(); FredsBank fb = locator.getFredsBank(url); long balance = fb.getBalance();
Sem a chamada lookup(), o cliente não pode acessar o descritor de implementação. Para serviços da web JAX-RPC, a configuração da Segurança de Serviços da Web está no descritor de implementação de serviço da web.
- Clientes Não Gerenciados
Os clientes Java Platform, Standard Edition (Java SE 6) que usam o ambiente de tempo de execução JAX-RPC para chamar serviços da web e não executam nenhum contêiner Java EE são conhecidos como clientes não gerenciados. Um cliente não gerenciado de serviços da web é um cliente Java independente que pode inspecionar diretamente um arquivo WSDL e formular as chamadas para o serviço da web usando as APIs JAX-RPC diretamente. Esses clientes são compactados como arquivos JAR, que não contêm informações de implementação.
Para que um aplicativo Java possa agir como um cliente de serviço da web, deve existir um mapeamento entre o arquivo WSDL e o aplicativo Java. Para serviços da web JAX-RPC, o mapeamento é definido pela especificação JAX-RPC. É possível usar um componente Java para implementar um serviço da web, especificando a interface do componente e informações sobre ligação no arquivo WSDL e projetando a infraestrutura do servidor de aplicativos para aceitar a solicitação de serviço. Todo esse processo se baseia na especificação de serviços da web para Java EE. A especificação JAX-RPC define o mapeamento entre um arquivo WSDL, o código Java e os tipos de Esquema XML.
- Clientes Gerenciados
Procedimento
Resultados
Você criou e testou um aplicativo de cliente de serviço da Web.
O que Fazer Depois
Após desenvolver um cliente de aplicativo de serviços da Web, e o cliente estar estaticamente limitado, o terminal em serviço usado pela implementação é aquele identificado no arquivo WSDL que você usou durante o processo de desenvolvimento. Durante ou após a instalação do aplicativo de serviços da Web, você pode querer mudar o terminal em serviço. Para clientes gerenciados, você pode alterar o terminal com o console administrativo ou a ferramenta de script wsadmin.
Também é possível considerar a customização do serviço da web com a implementação de extensões para o cliente de serviço da web. Alguns exemplos dessas extensões incluem o envio e o recebimento de valores em cabeçalhos SOAP, o envio e o recebimento de cabeçalhos de transporte HTTP ou JMS ou o uso de ligações customizadas. Para aprender mais sobre essas extensões, leia sobre a implementação de extensões para clientes de serviços da Web.