Java EE. Serviços Web SOAP com JAX-WS parte 2
1 - Devemos criar um Web Service Dentro de modulo de EJB.
2 – Expor como Web Service Beans de Sessão já existentes.
Devemos
criar um novo projeto, indo em: Novo projeto, Java EE, logo
selecionamos Modulo EJB.
Como
mostra a imagem.
Logo
colocamos o nome do projeto de ConverterUnidadesVolumen:
Devera
aparecer algo como esta na imagem:
Logo
criamos um Bean de Sessão, para nos passar dados, criando primeiro
um pacote com o nome de
com.blog.rafacomjava.convertirunidades.volumen, logo dentro deste
pacote uma classe com o nome de ConverirUnidadesEmPeso.
Dentro
da classe colocamos as seguintes anotações, para identificar um
Bean de Sessão, a classe deve ficar assim:
package
com.blog.rafacomjava.convertirunidades.volumen;
import
javax.ejb.LocalBean;
import
javax.ejb.Stateless;
import
javax.jws.WebParam;
@Stateless()
@LocalBean()
public
class ConverirUnidadesEmPeso
{
public Double litrosAGalones( double
litros)
{
return litros * 2.35;
}
public Double GalonesALitros( double
galones)
{
return galones / 2.35;
}
}
Deve
ficar algo assim:
Para
converter em um Web Service, clicamos novamente com botão direito do
mouse no projeto ConverterUnidadesVolumen, logo Novo, Web Service,
nome - ConverterUnidadesWS, logo pacote com.blog.
rafacomjava.convertirunidades.volumen.ws, clicamos em Criar Web
Service a partir do Bean de Sessão:
Clicamos
em Procurar:
selecionamos
ConverirUnidadesEmPeso.
Clicamos
Ok, finalizar.
Deve
ficar uma imagem como esta;
vêem-se
em Detalhe na próxima imagem o Web Service criado.
Como
podemos ver se criou um novo Web Service como cliente.
Podemos
agora criar um cliente que acede às informações deste Web Service.
Criando
nosso cliente criamos um novo projeto agora como Java Aplicação.
Agora
devemos criar nosso Web Service dentro da aplicação Java. Clicando
com o botão direito no projeto, novo Web Service,
ClienteParaWebService.
Logo
Procurar Projeto.
Lembro
que a aplicação ConverterUnidadesVolumen deve estar funcionando por
que se não Dara erro, pois não poderá ser encontrado o Web
Service.
Clicamos
em finalizar e deve fiar uma imagem desta forma:
Quase
terminando veremos que em Referencias a Web Service seguindo, teremos
os métodos.
Pressionamos
com o mouse e arrastamos ate a classe ClienteJavaAplicacao. Mas
lembrando arraste, pois assim o NetBenas nos vai fazer uma parte do
código de forma automática.
Deve
ficar algo assim:
em main
colocamos:
System.out.println("
Resultado = " + galonesALitros(12.0) );
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package
clientejavaaplicacao;
/**
*
* @author rafael2
*/
public
class ClienteJavaAplicacao {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
System.out.println(" Resultado = " +
galonesALitros(12.0) );
}
private static Double galonesALitros(double galones) {
com.blog.rafacomjava.convertirunidades.volumen.ws.ConverterUnidadesWS_Service
service = new
com.blog.rafacomjava.convertirunidades.volumen.ws.ConverterUnidadesWS_Service();
com.blog.rafacomjava.convertirunidades.volumen.ws.ConverterUnidadesWS
port = service.getConverterUnidadesWSPort();
return port.galonesALitros(galones);
}
}
Rodando
a aplicação deve ter o seguinte resultado:
ant
-f /home/rafael2/projetos2/soa/soa_blog/ClienteJavaAplicacao
-Djavac.includes=clientejavaaplicacao/ClienteJavaAplicacao.Java
-Drun.class=clientejavaaplicacao.ClienteJavaAplicacao run-single
init:
Deleting:
/home/rafael2/projetos2/soa/soa_blog/ClienteJavaAplicacao/build/built-jar.properties
deps-jar:
Updating
property file:
/home/rafael2/projetos2/soa/soa_blog/ClienteJavaAplicacao/build/built-jar.properties
wsimport-init:
wsimport-client-ConverterUnidadesWS:
files
are up to date
wsimport-client-generate:
Compiling
1 source file to
/home/rafael2/projetos2/soa/soa_blog/ClienteJavaAplicacao/build/classes
compile-single:
run-single:
Resultado = 5.106382978723404
CONSTRUÍDO
COM SUCESSO (tempo total: 2 segundos)
Obrigado
a Todos e ate à próxima.
Feliz Natal!!!
Nenhum comentário:
Postar um comentário