Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Web Services JAX-WS, Manuais, Projetos, Pesquisas de Programação para Java

Este documento demonstra os conceitos básicos sobre o uso do IDE para desenvolver um Web service JAX-WS

Tipologia: Manuais, Projetos, Pesquisas

2021

Compartilhado em 21/04/2021

juliana-maciel-cariri-dos-santos
juliana-maciel-cariri-dos-santos 🇧🇷

3 documentos

1 / 15

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Criando um Web Service
Escolhendo um Contêiner
Criando um Web Service com
base em uma Classe Java
Adicionando uma Operação ao
Web service
Implantando e Testando o Web
service
Consumindo o Web Service
Cliente 1: Classe Java na
Aplicação Java SE
Cliente 2: Servlet na Aplicação
Web
Cliente 3: Página JSP na
Aplicação Web
Consulte Também
Apache
NetBeans
(/)
Introdução aos Web services JAX-WS
This tutorial needs a review. You can open a JIRA issue (https://issues.apache.org/jira/projects/NETBEANS/issues), or edit it in
GitHub (https://github.com/apache/netbeans-website/blob/master/netbeans.apache.org/src/content/kb/docs/websvc/jax-
ws_pt_BR.asciidoc) following these contribution guidelines. (/kb/docs/contributing.html)
Java API para Web services XML (JAX-WS), JSR 224 (http://www.jcp.org/en/jsr/detail?id=224)
é uma parte importante das plataforma Java EE. Uma sequência da release da API Java
para RPC 1.1 (JAX-RPC) com base em XML, o JAX-WS simplica a tarefa de
desenvolvimento de Web services utilizando a tecnologia Java. Ela aborda alguns dos
problemas em JAX-RPC 1.1, fornecendo suporte a vários protocolos, como SOAP 1.1, SOAP
1.2, XML, e fornecendo um recurso para dar suporte a protocolos adicionais junto com
HTTP. O JAX-WS usa JAXB 2.0 para vinculação de dados e dá suporte a personalizações
para controlar interfaces de ponto nal de serviço geradas. Com suporte a anotações, o
JAX-WS simplica o desenvolvimento do Web service e reduz o tamanho de arquivos JAR
do run-time.
Este documento demonstra os conceitos básicos sobre o uso do IDE para desenvolver um
Web service JAX-WS. Após criar o Web service, você escreve três clientes de Web service
diferentes que usam Web service em uma rede, denominado "consumo" de um Web
service. Os três clientes são uma classe Java em uma aplicação Java SE, um servlet e uma
página JSP em uma aplicação Web. Um tutorial mais avançado que se concentra em
clientes é Desenvolvendo Clientes de Web Service JAX-WS (./client.html).
Figure 1. O conteúdo desta página se aplica ao NetBeans IDE 7.2, 7.3, 7.4 e 8.0
Consumindo o Web Service em
Para seguir este tutorial, são necessários os recursos e o software a seguir.
Software ou Recurso Versão Necessária
NetBeans IDE (https://netbeans.org/downloads/index.html) Pacote de download do Java EE
Community (/community/index.html) Participate (/participate/index.html)
Blog (https://blogs.apache.org/netbeans/) Get Help (/help/index.html)
Plugins (https://plugins.netbeans.apache.org/) Download (/download/index.html)
Latest release
Apache NetBeans 12.3
Find out more (/download/nb123/nb123.html)
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Pré-visualização parcial do texto

Baixe Web Services JAX-WS e outras Manuais, Projetos, Pesquisas em PDF para Programação para Java, somente na Docsity!

Criando um Web Service

Escolhendo um Contêiner

Criando um Web Service com base em uma Classe Java

Adicionando uma Operação ao Web service

Implantando e Testando o Web service

Consumindo o Web Service

Cliente 1: Classe Java na Aplicação Java SE

Cliente 2: Servlet na Aplicação Web

Cliente 3: Página JSP na Aplicação Web

Consulte Também

Apache

NetBeans

Introdução aos Web services JAX-WS

This tutorial needs a review. You can open a JIRA issue (https://issues.apache.org/jira/projects/NETBEANS/issues), or edit it in GitHub (https://github.com/apache/netbeans-website/blob/master/netbeans.apache.org/src/content/kb/docs/websvc/jax- ws_pt_BR.asciidoc) following these contribution guidelines. (/kb/docs/contributing.html)

Java API para Web services XML (JAX-WS), JSR 224 (http://www.jcp.org/en/jsr/detail?id=224) é uma parte importante das plataforma Java EE. Uma sequência da release da API Java para RPC 1.1 (JAX-RPC) com base em XML, o JAX-WS simplica a tarefa de desenvolvimento de Web services utilizando a tecnologia Java. Ela aborda alguns dos problemas em JAX-RPC 1.1, fornecendo suporte a vários protocolos, como SOAP 1.1, SOAP 1.2, XML, e fornecendo um recurso para dar suporte a protocolos adicionais junto com HTTP. O JAX-WS usa JAXB 2.0 para vinculação de dados e dá suporte a personalizações para controlar interfaces de ponto nal de serviço geradas. Com suporte a anotações, o JAX-WS simplica o desenvolvimento do Web service e reduz o tamanho de arquivos JAR do run-time.

Este documento demonstra os conceitos básicos sobre o uso do IDE para desenvolver um Web service JAX-WS. Após criar o Web service, você escreve três clientes de Web service diferentes que usam Web service em uma rede, denominado "consumo" de um Web service. Os três clientes são uma classe Java em uma aplicação Java SE, um servlet e uma página JSP em uma aplicação Web. Um tutorial mais avançado que se concentra em clientes é Desenvolvendo Clientes de Web Service JAX-WS (./client.html).

Figure 1. O conteúdo desta página se aplica ao NetBeans IDE 7.2, 7.3, 7.4 e 8. Consumindo o Web Service em

Para seguir este tutorial, são necessários os recursos e o software a seguir.

Software ou Recurso Versão Necessária

NetBeans IDE (https://netbeans.org/downloads/index.html) Pacote de download do Java EE

Community (/community/index.html) Participate (/participate/index.html)

Blog (https://blogs.apache.org/netbeans/) Get Help (/help/index.html)

Plugins (https://plugins.netbeans.apache.org/) Download (/download/index.html)

Latest release

Apache NetBeans 12.

Find out more (/download/nb123/nb123.html)

Software ou Recurso Versão Necessária

JDK (Java Development Kit) (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

JDK 7 ou JDK 8

Servidor de aplicações ou Web compatível com Java EE GlassFish Server Open Source Edition Oracle WebLogic Server

*Observação: *o GlassFish Server pode ser instalado com a distribuição de Java EE do NetBeans IDE. Como alternativa, você

pode visitar a página de downloads do GlassFish Server (https://glasssh.java.net/download.html) ou a página de downloads

do Apache Tomcat (http://tomcat.apache.org/download-60.cgi).

*Importante: *os projetos Java EE requerem GlassFish Server ou Oracle WebLogic Server 12c.

O servidor web de Tomcat incorporado não é um servidor web totalmente compatível com Java EE. No entanto, o servidor web

Tomcat 7.x pode ser congurado para suportar alguma funcionalidade de Java EE. Consulte o Projeto Apache para EE

(http://openejb.apache.org/) para obter informações sobre como adicionar suporte ao Java EE para Tomcat.

Criando um Web Service

O objetivo deste exercício é criar um projeto apropriado para o contêiner de implantação que você decidir utilizar. Uma vez

criado o projeto, você irá criar nele um Web service.

Escolhendo um Contêiner

Você pode implantar o Web service em um contêiner Web ou em um contêiner EJB. Isso depende das suas escolhas de

implementação. Se estiver criando uma aplicação Java EE, use um contêiner Web, pois você pode colocar EJBs diretamente em

uma aplicação Web. Por exemplo, se você planeja implantar no Servidor Web Tomcat, que tem somente um contêiner Web,

crie uma aplicação Web, não um módulo EJB.

  1. Selecione Arquivo > Novo Projeto (Ctrl-Shift-N no Linux e no Windows, ⌘-Shift-N no MacOS). Selecione Aplicação Web na categoria Java Web ou Módulo EJB na categoria Java EE.

Você pode criar um Web service JAX-WS em um projeto Maven. Selecione Arquivo > Novo Projeto (Ctrl-Shift-N no Linux e no

Windows, ⌘-Shift-N no MacOS) e o módulo Aplicação Web Maven ou Maven EJB na categoria Maven. Se você nunca tiver

usado Maven com NetBeans antes, consulte Melhores Práticas para o Maven (http://wiki.netbeans.org/MavenBestPractices).

  1. Nomeie o projeto CalculatorWSApplication. Selecione uma localização para o projeto. Clique em Próximo.

  2. Selecione o servidor e a versão do Java EE e clique em Finalizar.

Para usar o Oracle WebLogic server, registre o servidor no IDE (../web/jsf-jpa-weblogic.html#01). Além disso, se você estiver

usando o WebLogic server, observe a screencast em Implantando uma Aplicação Web para Oracle WebLogic

(../javaee/weblogic-javaee-m1-screencast.html).

Criando um Web Service com base em uma Classe Java

  1. Clique com o botão direito do mouse no nó CalculatorWSApplication e selecione Novo > Web Service.

  2. Chame o Web service de CalculatorWS e digite org.me.calculator no Pacote. Deixe Criar Web Service do Início selecionado.

  3. Se você estiver criando um projeto Java EE em GlassFish ou WebLogic, selecione Implementar Web Service como um Bean de Sessão Sem Estado.

Localize o nó do Web service na janela Projetos. Clique com o botão direito do mouse no nó. Aparecerá um menu de contexto.

  1. Clique em Adicionar Operação no designer visual ou no menu de contexto. A caixa de diálogo Adicionar Operação será aberta.

  2. Na parte superior da caixa de diálogo Adicionar Operação, digite add em Nome e digite int na lista drop-down Tipo de Retorno.

  3. Na parte inferior da caixa de diálogo Adicionar Operação, clique em Adicionar e crie um parâmetro de tipo int chamado i.

  4. Clique novamente em Adicionar e crie um parâmetro de tipo int chamado de j.

Agora você deverá ver o seguinte:

  1. Clique em OK na parte inferior da caixa de diálogo Adicionar Operação. Você retornará ao editor.

  2. Remova a operação hello default deletando o método hello() no código-fonte ou selecionando a operação hello no visual designer e clicando em Remover Operação.

O visual designer agora exibe o seguinte:

Figure 2. Visual designer do Web service que mostra operação adicionada

  1. Clique em Código-Fonte e exiba o código que você gerou nas etapas anteriores. Será diferente se você tiver criado o serviço como um bean sem estado Java EE6 ou não. Você pode perceber as diferenças das telas abaixo? (Um serviço Java EE 6 ou Java EE 7 que não é implementado como bean sem estado parece um serviço Java EE 5.)

Observação. No NetBeans IDE 7.3 e 7.4 você verá que na anotação @WebService gerada, o nome do serviço é especicado

explicitamente: @WebService(serviceName = "CalculatorWS").

  1. No editor, estenda a operação de esqueleto add para o seguinte (alterações em negrito):

A soma dos dois números é exibida:

Você pode abrir uma versão completa do bean sem estado Java EE do serviço Calculadora selecionando Arquivo > Novo

Projeto (Ctrl-Shift-N no Linux e no Windows, ⌘-Shift-N no MacOS) e navegar até Amostras > Web Services Java > Calculadora

(EE6).

Um Serviço de Calculadora Maven e um Cliente de Calculadora Maven estão disponíveis em Amostras > Maven.

Consumindo o Web Service

Agora que você implantou o Web service, precisará criar um cliente para utilizar o método add do Web service. Aqui, você cria

três clientes — uma classe Java em uma aplicação Java SE, um servlet e uma página JSP em uma aplicação Web.

Observação: um tutorial mais avançado que se concentra nos clientes é Desenvolvendo Clientes de Web Service JAX-WS

(../../../kb/docs/websvc/client.html).

Cliente 1: Classe Java na Aplicação Java SE

Nesta seção, você cria uma aplicação Java padrão. O assistente usado para criar a aplicação também criará uma classe Java.

Em seguida, você usa as ferramentas do IDE para criar um cliente e consumir o Web service que criou no início deste tutorial.

  1. Selecione Arquivo > Novo Projeto (Ctrl-Shift-N no Linux e no Windows, ⌘-Shift-N no MacOS). Selecione Aplicação Java na categoria Java. Nomeie o projeto CalculatorWS_Client_Application. Deixe a opção Criar Classe Principal selecionada e aceite todas as outras denições default. Clique em Finalizar.

  2. Clique com o botão direito do mouse no nó CalculatorWS_Client_Application e selecione Novo > Cliente de Web Service. O assistente de Novo Cliente de Web Service será aberto.

  1. Selecione Projeto como o código-fonte WSDL. Clique em Procurar. Procure o Web service CalculatorWS no projeto CalculatorWSApplication. Depois de ter selecionado o Web service, clique em OK.

  2. Não selecione um nome de pacote. Deixe este campo vazio.

  3. Deixe as outras denições como default e clique em Finalizar.

A janela Projetos exibirá o novo cliente de Web service, com um nó para o método add que você criou:

  1. Clique com o botão direito do mouse no nó do projeto e selecione Executar.

A janela de Saída agora mostra a soma:

compile: run: Result = 7 BUILD SUCCESSFUL (total time: 1 second)

Cliente 2: Servlet na Aplicação Web

Nesta seção, você cria uma nova aplicação Web e, depois disso, cria um servlet. Em seguida, usa o servlet para consumir o

Web service que criou no início deste tutorial.

  1. Selecione Arquivo > Novo Projeto (Ctrl-Shift-N no Linux e no Windows, ⌘-Shift-N no MacOS). Na categoria Java Web, selecione Aplicação Web. Nomeie o projeto CalculatorWSServletClient. Clique em Próximo e, em seguida, em Finalizar.

  2. Clique com o botão direito do mouse no nó CalculatorWSServletClient e selecione Novo > Cliente de Web Service.

O assistente de Novo Cliente de Web Service será aberto.

  1. Selecione Projeto como origem WSDL e clique em Procurar para abrir a caixa de diálogo Procurar Web Services.

  2. Selecione o web service CalculatorWS no projeto CalculatorWSApplication. Clique em OK para fechar a caixa de diálogo Procurar Web Services.

  3. Conrme se o nome do pacote está vazio no assistente de Novo Cliente de Web Service e deixe as outras denições com o valor padrão. Clique em Finalizar.

O nó Referências de Web Service na janela Projetos exibe a estrutura do cliente recém-criado, que inclui a operação add que

você criou anteriormente neste tutorial.

  1. Clique com o botão direito do mouse no nó do projeto CalculatorWSServletClient e selecione Novo > Servlet. Chame o servlet de ClientServlet e coloque-o em um pacote chamado org.me.calculator.client. Clique em Finalizar.

  2. Para tornar o servlet o ponto de entrada da aplicação, clique com o botão direito do mouse no nó do projeto CalculatorWSServletClient e selecione Propriedades. Abra as propriedades de Executar e digite /ClientServlet no campo URL Relativo. Clique em OK.

  3. Se houver ícones de erro em ClientServlet.java , clique com o botão direito do mouse no nó do projeto e selecione Limpar e Construir.

  4. No método processRequest() , adicione algumas linhas vazias depois desta linha:

out.println("< h1 >Servlet ClientServlet at " + request.getContextPath () + "</ h1 >");

  1. No Editor de Código-Fonte, arraste a operação adicionar em qualquer lugar do corpo da classe ClientServlet. O método

add() aparecerá ao nal do código da classe.

Observação: como alternativa, em vez de arrastar o nó adicionar , você pode clicar com o botão direito do mouse no editor e, em seguida, selecionar Inserir Código > Operação de Chamada a Web service.

private int add ( int i, int j) {org.me.calculator.CalculatorWS port = service.getCalculatorWSPort(); return port.add(i, j); }

  1. Adicione o código que inicializa os valores de i e j , chama add() e imprime o resultado. O código adicionado está em

negrito :

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { out.println("< html >"); out.println("< head >"); out.println("< title >Servlet ClientServlet</ title >"); out.println("</ head >"); out.println("< body >"); out.println("< h1 >Servlet ClientServlet at " + request.getContextPath () + "</ h1 >");

  • int i = 3; int j = 4; int result = add(i, j); out.println("Result = " + result);*

out.println("</ body >"); out.println("</ html >");

} finally { out.close();}}

  1. Circunde o código adicionado com um bloco try/catch que imprime uma exceção.
  1. Não selecione um nome de pacote. Deixe este campo vazio.

  2. Deixe as outras denições como default e clique em Finalizar.

A janela Projetos exibe o novo cliente de web service, como mostrado abaixo:

  1. No nó Referências de Web Services, expanda o nó que representa o Web service. A operação adicionar , que você chamará do cliente, agora está exposta.

  2. Arraste a operação adicionar para a página index.jsp do cliente e solte-a abaixo das tags H1. O código para chamar a

operação de serviço agora é gerado na página index.jsp , como você pode ver aqui:

<% try { org.me.calculator.CalculatorWSService service = new org.me.calculator.CalculatorWSService(); org.me.calculator.CalculatorWS port = service.getCalculatorWSPort(); // TODO initialize WS operation arguments here int i = 0 ; int j = 0 ; // TODO process result here int result = port.add(i, j); out.println("Result = "+result); } catch (Exception ex) { // TODO handle custom exceptions here } %>

Altere o valor de i e j de 0 por outros inteiros, como 3 e 4. Substitua a linha TODO comentada no bloco catch por out.println("exception" + ex);.

  1. Clique com o botão direito do mouse no nó do projeto e selecione Executar.

O servidor será iniciado, caso já não esteja em execução. A aplicação será construída e implantada e o browser será aberto, exibindo o resultado do cálculo:

Enviar Feedback neste Tutorial (/about/contact_form.html?to=3&subject=Feedback:%20JAX- WS%20Services%20in%20NetBeans%20IDE)

Consulte Também

Para obter mais informações sobre o uso do NetBeans IDE para desenvolver aplicações Java EE, consulte os seguintes recursos:

Desenvolvendo Clientes de Web Service JAX-WS (./client.html)

Introdução ao RESTful Web Services (./rest.html)

Interoperabilidade Avançada de Web Service (./wsit.html)

Trilha do Aprendizado de Web services (../../../kb/trails/web.html)

Para enviar comentários e sugestões, obter suporte e se manter informado sobre os mais recentes desenvolvimentos das funcionalidades de desenvolvimento Java EE do NetBeans IDE, inscreva-se na lista de notícias [email protected] (../../../community/lists/top.html).

(https://www.apache.org/) (^) (https://www.apache.org/events/current-event.html)

ABOUT (/ABOUT/INDEX.HTML)

COMMUNITY (/COMMUNITY/INDEX.HTML)

PARTICIPATE (/PARTICIPATE/INDEX.HTML)

GET HELP (/HELP/INDEX.HTML)

DOWNLOAD (/DOWNLOAD/NB

 (https://www.facebook.com/NetBeans)  (https://twitter.com/netbeans)  (https://github.com/apache/netbeans)

 (https://www.youtube.com/user/netbeansvideos)  (https://tinyurl.com/netbeans-slack-signup/)

 (https://issues.apache.org/jira/projects/NETBEANS/summary)

 See this page in GitHub. (https://github.com/apache/netbeans- website/blob/master/netbeans.apache.org/src/content/kb/docs/websvc/jax-ws_pt_BR.asciidoc)