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

Boas Práticas Boas Práticas: IBM® WebSphere Application Server suporta o modelo de programação Java API for XML-Based Web Services (JAX-WS) e o modelo de programação Java API for XML-based RPC (JAX-RPC). O JAX-WS é o modelo de programação de serviços da Web da próxima geração, estendendo a base fornecida pelo modelo de programação JAX-RPC. Ao usar o modelo de programação JAX-WS estratégico, o desenvolvimento de serviços da Web e clientes é simplificado por meio do suporte de um modelo de anotações baseado em padrões. Embora o modelo de programação JAX-RPC e seus aplicativos ainda sejam suportados, aproveite o modelo de programação JAX-WS de fácil implementação para desenvolver novos aplicativos de serviços da web e clientes. bprac

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.

Procedimento

  1. Obtenha o documento Web Services Description Language (WSDL) para o serviço da Web que deseja acessar.

    É possível localizar o WSDL a partir do provedor de serviços por meio de email, de um Localizador Uniforme de Recursos (URL) ou procurando por ele em um registro Universal Description, Discovery and Integration (UDDI).

  2. Desenvolva ligações de cliente a partir de um arquivo WSDL usando a ferramenta de linha de comandos WSDL2Java. As informações necessárias para chamar o serviço da web são geradas, incluindo a interface e as implementações do terminal em serviço, a interface de serviço gerada e os descritores de implementação ibm-webservicesclient-bnd.xmi e ibm-webservicesclient-ext.xmi.
  3. Conclua a implementação do cliente. Grave o código de aplicativo cliente usado para chamar o serviço da web.
    Consulte o Capítulo 4 da especificação JSR 109. Para obter uma lista completa de padrões e especificações suportados, consulte as especificações de serviços da Web e a documentação da API.
    Nota: Se um aplicativo criar vários encadeamentos no cliente JSR 109, os metadados (incluindo a configuração do WebSphere Application Server) não serão copiados para o encadeamento e o Manipulador de Segurança Global não será chamado.

    É possível revisar a amostra de serviços da web baseada em JAX-RPC, o cliente GetQuote, no aplicativo WebServicesSamples que está disponível para download. Para saber mais, consulte as informações do Samples Versão 8.0.

  4. (Opcional) Monte um arquivo Java archive (JAR) de cliente ativado para serviços da web em um arquivo enterprise archive (EAR). Conclua esta etapa se estiver desenvolvendo um cliente de serviços da web JAX-RPC gerenciado que seja executado no contêiner do cliente Java EE.
  5. (Opcional) Monte um arquivo web application archive (WAR) cliente ativado para serviços da web em um arquivo enterprise archive (EAR). Conclua esta etapa se estiver desenvolvendo um cliente de serviços da web JAX-RPC gerenciado que seja executado no contêiner do cliente Java EE.
  6. (Opcional) Configure o descritor de implementação do cliente. Conclua esta tarefa se estiver desenvolvendo um cliente JAX-RPC gerenciado.
  7. (Opcional) Configure o descritor de implementação ibm-webservicesclient-bnd.xmi. Conclua esta tarefa se estiver desenvolvendo um cliente JAX-RPC gerenciado que seja executado no contêiner do cliente Java EE e desejar substituir as configurações padrão do cliente. Veja as propriedade de montagem de ibm-webservicesclient-bnd.xmi para obter mais informações sobre o descritor de implementação do ibm-webservicesclient-bnd.xmi.
  8. (Opcional) Implemente o aplicativo cliente de serviços da web. Conclua esta etapa para implementar um cliente de serviços da web JAX-RPC gerenciado que seja executado no contêiner do cliente Java EE.
  9. Teste o aplicativo cliente ativado para serviços da web. Você pode testar um arquivo JAR do cliente não gerenciado ou um aplicativo do cliente gerenciado.

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.


Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_devwbsjaxrpcclient
Nome do arquivo: twbs_devwbsjaxrpcclient.html