Um cliente de serviços da Web é criado para consumir (isto é, usar) um determinado serviço da Web. A maneira como um cliente de serviços consome um serviço da Web depende da maneira como o provedor disponibiliza tal serviço:
O provedor publica o arquivo WSDL de um serviço da Web em execução.
O provedor distribui um arquivo WSDL, disponível no sistema de arquivos local.
O provedor distribui um projeto NetBeans que define o serviço da Web, para implantação a um recipiente de teste.
A estratégia escolhida para o consumo de um serviço da Web depende antes de mais nada da especificação adotada. Use a especificação Java EE 5, que dá suporte a serviços da Web JAX-WS, ou siga a especificação J2EE 1.4, que adota o uso de serviços da Web JAX-RPC:
Clientes de serviço da Web JAX-WS (Java EE 5). Para o consumo de serviços da Web JAX-WS, há um tipo de cliente de serviços da Web, o stub estático gerado pelo IDE. O IDE gera o stub e outros artefatos, empacota-os no arquivo e os implanta. Visto que o JAX-WS não precisa trabalhar com descritores de implantação, mas sim usa anotações dentro do código Java, um stub estático gerado por recipiente J2EE, que requer o uso de descritores de implantação, seria desnecessário.
Clientes de serviço da Web JAX-RPC (J2EE 1.4). Para o consumo de serviços da Web JAX-RPC, há dois tipos de clientes de serviços da Web:
Stub estático gerado pelo recipiente J2EE. Este tipo está baseado no JSR-109, melhor que o JAX-RPC por definir o empacotamento dos serviços da Web nos módulos J2EE padrão, que inclui um novo descritor de implantação e define os serviços da Web que serão implementados como servlets ou Beans de sessão. Esse é o tipo recomendado e portável (através da especificação J2EE 1.4). Ao escolher esse tipo, o IDE adiciona informações de implantação nos respectivos descritores e o recipiente gera o stub e outros artefatos.
Stub estático gerado pelo IDE. Esse tipo está baseado no JSR-101, que define o mapeamento de WSDL para Java e vice-versa. Também define uma API de cliente para chamar um serviço da Web remoto e um ambiente do tempo de execução no servidor para hospedar um serviço da Web. Esse tipo não é portátil. Ao escolher esse tipo, o IDE gera o stub e outros artefatos, empacota-os no arquivo e os implanta.
Para obter informações detalhadas, consulte as especificações:
A especificação JSR-109 em
A especificação JSR-101 em
Para obter dicas sobre como projetar um cliente de serviços da Web, acesse Ajuda > Catálogo de soluções de Java BluePrints. Selecione Acessando serviços da Web a partir de componentes J2EE e Acessando serviços da Web a partir de cliente de Java independente no menu.