Escolar Documentos
Profissional Documentos
Cultura Documentos
Web Services
• JAX-WS (Java API for XML Web Services):
Pós-Graduação em
Tecnologias para o Desenvolvimento de – Esconde a complexidade em montar um
Aplicações WEB envelope SOAP
– Converte os envelopes em RPC
Prof. Adilson Vahldick
– É uma tecnologia disponível a partir do JEE5.0
– Utiliza anotações (uma novidade da versão 5
do Java)
2
1
3
4
1
Criação de WS no NetBeans 5.5 Criação de WS no NetBeans 5.5
• [Arquivo] [Novo Arquivo] 1
3
3
1
}
2
@WebMethod
4
public int somar(
3 5 @WebParam(name = "x") int x,
@WebParam(name = "y") int y) {
6
return x + y;
}
2
Iniciar o Servidor Implantar a Aplicação
1
1
2
3
1 2
3
Criar um cliente de WS Criar um cliente de WS
• [Arquivo] [Novo Arquivo]
1 2
2
1 3
4
3
import cliente.*;
import cliente.*;
import java.net.URL;
import javax.xml.namespace.QName;
1 public class Main {
4
JAXB Objetos como retorno
• Java Architecture for XML Bindings • Selecione o Projeto [AplicacaoWeb]
• Utilizado para converter XML em objetos • Selecione [Pacotes de Código-Fonte]
Java e vice-versa • Selecione [matematica]
• Suporta anotações • Botão direito [Novo][Classe Java]
• Digite em Nome da Classe: Resultado
5
Vetor como retorno Lista como retorno
import java.util.*;
public class CalculoBasico { public class CalculoBasico {
….. …
@WebMethod @WebMethod
public Resultado[] somarVarios(@WebParam(name = "x") int x, public List<Resultado> somarVariosEx(@WebParam(name = "x") int x,
@WebParam(name = "y") int y, @WebParam(name = "z") int z) { @WebParam(name = "y") int y, @WebParam(name = "z") int z) {
r[0] = new Resultado(); Resultado r0 = new Resultado(); r0.setTexto("x + y"); r0.setValor(x + y);
r[0].setTexto("x + y"); r[0].setValor(x + y); res.add(r0);
r[1] = new Resultado(); Resultado r1 = new Resultado(); r1.setTexto("x + z"); r1.setValor(x + z);
r[1].setTexto("x + z"); r[1].setValor(x + z); res.add(r1);
r[2] = new Resultado(); Resultado r2 = new Resultado(); r2.setTexto("y + z"); r2.setValor(y + z);
r[2].setTexto("y + z"); r[2].setValor(y + z); res.add(r2);
Do lado cliente
Resultado param = new Resultado();
param.setValor(100);
System.out.println(port.somarObjeto(param, 10));
Adilson Vahldick