JAX-WS 4.0.0: um guia para baixar, instalar e usar
Se você está procurando uma maneira de criar e consumir serviços da Web SOAP em Java, deve ter ouvido falar de JAX-WS, a API Java para serviços da Web XML. Neste artigo, forneceremos uma visão geral do que é JAX-WS, por que você deve usar a versão mais recente 4.0.0 e como fazer o download, instalá-la e usá-la.
O que é JAX-WS?
JAX-WS é uma API padronizada para criar e consumir serviços da web SOAP (Simple Object Access Protocol) em Java. SOAP é um protocolo baseado em XML para troca de dados estruturados em uma rede, usando vários protocolos de transporte, como HTTP e SMTP.
jaxws-rt 4.0.0 download
JAX-WS faz parte da plataforma Jakarta EE, anteriormente conhecida como Java EE ou Java Platform, Enterprise Edition. Ele fornece uma estrutura que simplifica o desenvolvimento de serviços e clientes da Web, ocultando os detalhes de baixo nível de mensagens SOAP e processamento XML.
Recursos JAX-WS
Algumas das principais características do JAX-WS são:
Ele oferece suporte a abordagens de cima para baixo (primeiro contrato) e de baixo para cima (contrato por último) para o desenvolvimento de serviços da Web.
Ele usa anotações para definir endpoints e clientes de serviço da web, reduzindo a necessidade de escrever arquivos de configuração XML.
Ele oferece suporte a vários padrões de serviços da Web, como WS-Addressing, WS-Policy, WS-Security, MTOM e muito mais.
Ele fornece ferramentas para gerar documentos WSDL (Web Services Description Language), classes Java e stubs uns dos outros.
Ele se integra com JAXB (Java Architecture for XML Binding), a API padrão para mapear objetos Java para XML e vice-versa.
Ele permite o uso de vinculações de dados personalizados, manipuladores, provedores, despachantes e outras extensões.
Versões JAX-WS
A primeira versão do JAX-WS foi lançada em 2005 como parte do Java SE 6. Desde então, várias versões foram lançadas, cada uma adicionando novos recursos e melhorias.
A versão mais recente do JAX-WS é 4.0.0, lançada em junho de 2021 como parte do Jakarta EE 9.1.
Por que JAX-WS 4.0.0?
Se você está se perguntando por que deveria usar JAX-WS 4.0.0 em vez de versões anteriores, aqui estão alguns motivos:
Recursos do JAX-WS 4.0.0
O JAX-WS 4.0.0 apresenta alguns novos recursos que o tornam mais compatível com o Jakarta EE 9.1 e mais conveniente de usar:
Ele suporta a especificação Jakarta XML Web Services 3.1, que define a API para criar e consumir serviços da Web SOAP em Jakarta EE.
Ele usa o namespace Jakarta em vez do namespace javax para todas as classes e pacotes, seguindo a mudança do namespace de Java EE para Jakarta EE.
Ele suporta a especificação Jakarta RESTful Web Services 3.1, que define a API para criar e consumir serviços da Web RESTful em Jakarta EE.
Ele oferece suporte à especificação Jakarta SOAP with Attachments 2.1, que define a API para lidar com mensagens SOAP com anexos em Jakarta EE.
Ele suporta a especificação Jakarta Web Services Metadata 3.1, que define as anotações para terminais e clientes de serviço da web em Jakarta EE.
Ele suporta a especificação Jakarta XML Binding 3.1, que define a API para mapear objetos Java para XML e vice-versa em Jakarta EE.
Ele suporta a especificação Jakarta Enterprise Web Services 2.1, que define os requisitos para serviços da web em Jakarta EE.
Comparação JAX-WS 4.0.0 com Versões Anteriores
JAX-WS 4.0.0 é principalmente compatível com versões anteriores, exceto por algumas mudanças importantes que são necessárias para a mudança de namespace de Java EE para Jakarta EE.
Algumas das principais diferenças entre o JAX-WS 4.0.0 e as versões anteriores são:
Os nomes dos pacotes foram alterados de javax.xml.ws para jakarta.xml.ws e de javax.jws para jakarta.jws.
As coordenadas do Maven mudaram de com.sun.xml.ws:jaxws-rt para org.glassfish.metro:jaxws-rt.
Os documentos WSDL gerados pelo JAX-WS 4.0.0 usam o namespace jakarta em vez do namespace javax para os elementos do esquema.
As ferramentas JAX-WS mudaram seus nomes de wsgen, wsimport, schemagen e xjc para jaxws-wsgen, jaxws-wsimport, jaxws-schemagen e jaxws-xjc.
Benefícios e Desvantagens do JAX-WS 4.0.0
O JAX-WS 4.0.0 tem alguns benefícios e desvantagens que você deve considerar antes de usá-lo:
Os benefícios do JAX-WS 4.0.0 são:
Ele está atualizado com as especificações e padrões mais recentes para serviços da Web em Jacarta EE.
É compatível com outros componentes e tecnologias Jakarta EE, como CDI, EJB, JPA e muito mais.
É suportado por vários servidores e estruturas de aplicativos, como GlassFish, Payara, WildFly, Spring Boot e muito mais.
É fácil de usar e fornece uma abstração de alto nível para desenvolvimento e consumo de serviços da Web.
As desvantagens do JAX-WS 4.0.0 são:
Isso requer algumas alterações no código e nos arquivos de configuração se você migrar de versões anteriores do JAX-WS.
Pode não ser compatível com alguns serviços da Web legados ou clientes que usam o antigo namespace javax ou versões mais antigas de SOAP ou WSDL.
Ele pode não oferecer suporte a alguns recursos avançados ou personalizações que estão disponíveis em outras estruturas ou bibliotecas de serviços da Web.
Alternativas JAX-WS 4.0.0
JAX-WS 4.0.0 não é a única opção para criar e consumir serviços da Web SOAP em Java. Existem outras estruturas e bibliotecas que oferecem recursos e capacidades semelhantes ou diferentes.
Algumas das alternativas populares para JAX-WS 4.0.0 são:
Apache CXF: uma estrutura de software livre que oferece suporte a serviços da Web SOAP e RESTful, bem como a vários padrões e protocolos de serviços da Web. Ele também fornece integração com Spring, Hibernate, JAX-RS e muito mais.
Apache Axis2: uma estrutura de software livre que oferece suporte a serviços da Web SOAP e RESTful, bem como a vários padrões e protocolos de serviços da Web. Ele também fornece ferramentas para gerar e implantar serviços e clientes da Web.
Spring Web Services: um módulo da estrutura Spring que oferece suporte ao desenvolvimento de primeiro contrato de serviços da Web SOAP, usando esquemas XML e documentos WSDL. Ele também fornece integração com Spring Boot, Spring Security, Spring Data e muito mais.
JAX-RPC: uma API obsoleta para criar e consumir serviços da web SOAP em Java, que foi substituída por JAX-WS. Ainda é suportado por alguns servidores de aplicativos e estruturas, mas não é recomendado para novos desenvolvimentos.
Como baixar o JAX-WS 4.0.0?
Se quiser usar o JAX-WS 4.0.0 em seu projeto, você precisa fazer o download da biblioteca de tempo de execução JAX-WS, que contém as classes e os recursos necessários para criar e consumir serviços da web SOAP com JAX-WS.
Há duas maneiras de fazer download do JAX-WS 4.0.0:
Baixando do repositório Maven
Se estiver usando o Maven como sua ferramenta de construção, você pode adicionar a seguinte dependência ao seu arquivo pom.xml:
<dependency> <groupId>org.glassfish.metro</groupId> <artifactId>jaxws-rt</artifactId> <version>4.0.0</version> </dependency>
Isso baixará automaticamente a biblioteca de tempo de execução JAX-WS do repositório central do Maven e a adicionará ao classpath do seu projeto.
Baixando do GitHub
Se você não estiver usando o Maven, pode baixar a biblioteca de tempo de execução JAX-WS do repositório GitHub do projeto:
Vá para
Faça download do arquivo jaxws-rt-4.0.0.jar na seção Ativos.
Adicione o arquivo jar ao classpath do seu projeto.
Como instalar o JAX-WS 4.0.0?
Depois de baixar a biblioteca de tempo de execução JAX-WS, você precisa instalá-la em seu sistema para poder usá-la em seus ambientes de desenvolvimento e implementação.
O processo de instalação pode variar dependendo do seu sistema operacional e servidor de aplicativos, mas aqui estão algumas etapas gerais que você pode seguir:
Instalando no Windows
Para instalar o JAX-WS 4.0.0 no Windows, você pode fazer o seguinte:
Crie uma pasta chamada jaxws-4.0.0 em seu local preferido, como C:\Arquivos de Programas.
Copie o arquivo jaxws-rt-4.0.0.jar para a pasta jaxws-4.0.0.
Inclua a pasta jaxws-4.0.0 na variável de ambiente PATH do sistema para poder acessar as ferramentas JAX-WS a partir de qualquer prompt de comando.
Inclua o arquivo jaxws-rt-4.0.0.jar em seu caminho de classe do servidor de aplicativos para poder implementar e executar serviços da web e clientes com JAX-WS.
Instalando no Linux
Para instalar o JAX-WS 4.0.0 no Linux, você pode fazer o seguinte:
Crie uma pasta chamada jaxws-4.0.0 no local de sua preferência, como /opt.
Copie o arquivo jaxws-rt-4.0.0.jar para a pasta jaxws-4.0.0.
Adicione a pasta jaxws-4.0.0 à variável de ambiente PATH do sistema para poder acessar as ferramentas JAX-WS de qualquer terminal.
Inclua o arquivo jaxws-rt-4.0.0.jar em seu caminho de classe do servidor de aplicativos para poder implementar e executar serviços da web e clientes com JAX-WS.
Instalando no Mac OS
Para instalar o JAX-WS 4.0.0 no Mac OS, você pode fazer o seguinte:
Crie uma pasta chamada jaxws-4.0.0 no local de sua preferência, como /Applications.
Copie o arquivo jaxws-rt-4.0.0.jar para a pasta jaxws-4.0.0.
Adicione a pasta jaxws-4.0.0 à variável de ambiente PATH do sistema para poder acessar as ferramentas JAX-WS de qualquer terminal.
Inclua o arquivo jaxws-rt-4.0.0.jar em seu caminho de classe do servidor de aplicativos para poder implementar e executar serviços da web e clientes com JAX-WS.
Como usar o JAX-WS 4.0.0?
Depois de instalar o JAX-WS 4.0.0 em seu sistema, você pode começar a usá-lo para criar e consumir serviços da Web SOAP em Java.
Há três etapas principais para usar o JAX-WS 4.0.0:
Criando um serviço da web SOAP com JAX-WS 4.0.0
Consumindo um serviço da web SOAP com JAX-WS 4.0.0
Usando ferramentas JAX-WS com JAX-WS 4.0.0
Criando um serviço da Web SOAP com JAX-WS 4.0.0
Para criar um serviço da web SOAP com JAX-WS 4.0.0, você precisa fazer o seguinte:
Crie uma classe Java que implemente a lógica de negócios de seu serviço da web.
Anote a classe com @jakarta.jws.WebService para indicar que é um terminal de serviço da web.
Anote os métodos que deseja expor como operações de serviço da web com @jakarta.jws.WebMethod.
Opcionalmente, você pode customizar o nome do serviço da web, namespace, nome da porta e outras propriedades usando os atributos de anotação.
Compile a classe e gere o documento WSDL usando a ferramenta jaxws-wsgen.
Implemente a classe e o documento WSDL em seu servidor de aplicativos.
Por exemplo, aqui está uma classe de serviço web simples que calcula a soma de dois números:
@jakarta.jws.WebService(name = "CalculatorService", targetNamespace = " public class Calculator @jakarta.jws.WebMethod(operationName = "add") public int add(int a, int b) return a + b;
Consumindo um SOAP Web Service com JAX-WS 4.0.0
Para consumir um serviço da web SOAP com JAX-WS 4.0.0, você precisa fazer o seguinte:
Obtenha o documento WSDL do serviço da web que você deseja consumir.
Gere as classes e stubs Java a partir do documento WSDL usando a ferramenta jaxws-wsimport.
Crie uma classe Java que atue como um cliente de serviço da web.
Anote a classe com @jakarta.xml.ws.WebServiceClient para indicar que é um cliente de serviço da web.
Anote um campo ou um método com @jakarta.xml.ws.WebServiceRef para injetar uma referência ao serviço da web.
Use a referência injetada para invocar as operações de serviço da web.
Compile e execute a classe cliente.
Por exemplo, aqui está um cliente de serviço web simples que consome o serviço web Calculadora:
@jakarta.xml.ws.WebServiceClient(name = "CalculatorClient") public class CalculatorClient @jakarta.xml.ws.WebServiceRef(wsdlLocation = " private CalculatorService calculatorService; public int add(int a, int b) Calculadora calculadora = calculatorService.getCalculatorPort(); return calculadora.add(a, b); public static void main(String[] args) CalculatorClient client = new CalculatorClient(); System.out.println("A soma de 2 e 3 é " + client.add(2, 3)); Usando ferramentas JAX-WS com JAX-WS 4.0.0
O JAX-WS 4.0.0 fornece um conjunto de ferramentas que podem ajudá-lo no desenvolvimento e teste de serviços e clientes da Web. Essas ferramentas são:
jaxws-wsgen: uma ferramenta que gera documentos WSDL a partir de classes anotadas de serviço da Web.
jaxws-wsimport: uma ferramenta que gera classes e stubs Java a partir de documentos WSDL.
jaxws-schemagen: uma ferramenta que gera esquemas XML a partir de classes Java anotadas.
jaxws-xjc: Uma ferramenta que gera classes Java a partir de esquemas XML.
jaxws-wsmonitor: Uma ferramenta que monitora e exibe as mensagens SOAP trocadas entre serviços da Web e clientes.
Para usar essas ferramentas, você precisa invocá-las na linha de comando, passando as opções e argumentos apropriados. Por exemplo, para gerar um documento WSDL a partir de uma classe de serviço da web, você pode usar o seguinte comando:
jaxws-wsgen -cp . -d saída -wsdl Calculadora
Este comando irá gerar um documento WSDL chamado CalculatorService.wsdl na pasta de saída, usando a classe Calculadora no classpath atual.
Você pode encontrar mais informações sobre essas ferramentas e suas opções no .
Conclusão
Neste artigo, aprendemos o que é JAX-WS, por que você deve usar a versão 4.0.0 mais recente e como fazer o download, instalá-la e usá-la. Também vimos alguns exemplos de criação e consumo de serviços da Web SOAP com JAX-WS 4.0.0 e uso de ferramentas JAX-WS para nos auxiliar.
JAX-WS 4.0.0 é uma API poderosa e fácil de usar para desenvolver e implementar serviços da Web SOAP em Java. É compatível com Jakarta EE 9.1 e oferece suporte a vários padrões e protocolos de serviços da Web. Ele também fornece uma abstração de alto nível que oculta os detalhes de baixo nível de mensagens SOAP e processamento XML.
Se você está procurando uma maneira de criar e consumir serviços da Web SOAP em Java, definitivamente deve experimentar o JAX-WS 4.0.0.
perguntas frequentes
Aqui estão algumas perguntas frequentes sobre JAX-WS 4.0.0:
Qual é a diferença entre JAX-WS e JAX-RS?
JAX-WS e JAX-RS são APIs para criar e consumir serviços da Web em Java, mas usam protocolos e formatos diferentes. JAX-WS é para serviços da Web SOAP, que usam XML como formato de dados e SOAP como protocolo de mensagem. JAX-RS é para serviços da Web RESTful, que usam vários formatos de dados, como JSON, XML ou texto simples, e HTTP como protocolo de mensagem.
Como posso migrar de JAX-WS 2.x ou 3.x para JAX-WS 4.0.0?
Para migrar de JAX-WS 2.x ou 3.x para JAX-WS 4.0.0, você precisa fazer algumas alterações em seu código e arquivos de configuração, como:
Substitua os pacotes javax.xml.ws e javax.jws pelos pacotes jakarta.xml.ws e jakarta.jws.
Substitua a dependência com.sun.xml.ws:jaxws-rt pela dependência org.glassfish.metro:jaxws-rt.
Gere novamente os documentos WSDL, classes Java e stubs usando as ferramentas jaxws-wsgen e jaxws-wsimport.
Atualize o caminho de classe do servidor de aplicativos para incluir o arquivo jaxws-rt-4.0.0.jar.
Como posso testar meus serviços da web e clientes com JAX-WS 4.0.0?
Para testar seus serviços da Web e clientes com JAX-WS 4.0.0, você pode usar várias ferramentas e estruturas, como:
A ferramenta jaxws-wsmonitor, que permite monitorar e exibir as mensagens SOAP trocadas entre serviços da Web e clientes.
A ferramenta SoapUI, que permite criar e executar testes funcionais, de carga, segurança e conformidade para serviços da web SOAP.
A ferramenta Postman, que permite enviar solicitações e receber respostas de serviços da web SOAP.
A estrutura JUnit, que permite escrever e executar testes de unidade para suas classes e métodos de serviço da web.
Como posso proteger meus serviços da web e clientes com JAX-WS 4.0.0?
Para proteger seus serviços da Web e clientes com JAX-WS 4.0.0, você pode usar vários mecanismos e padrões, como:
O protocolo HTTPS, que criptografa a comunicação entre serviços da Web e clientes usando certificados SSL/TLS.
O padrão WS-Security, que fornece segurança em nível de mensagem para serviços da Web SOAP, como criptografia, assinaturas digitais, autenticação e autorização.
O padrão WS-Policy, que define políticas para segurança de serviço da Web, qualidade de serviço e outros aspectos.
O padrão WS-Trust, que define uma estrutura para emitir, renovar e validar tokens de segurança para acesso ao serviço da web.
O padrão WS-Federation, que define um mecanismo para gerenciamento de identidade federada para acesso ao serviço da web.
0517a86e26
Comments