@WebService
public class Hello {
@WebMethod
public String sayHello(String name) {
return "Hello" + name + ".";
}
}
Fiz ele funcionar no Axis, GlassFish e CXF gerando o WSDL e fazendo a chamada por um cliente
No entanto isso é muito básico para mim, pois preciso algo um pouco mais robusto e trabalhando com Objetos que seguem o Padrão Bean como:
@WebService
public class FornecedorService {
@WebMethod
public Fornecedor cadastraFornecedor(Fornecedor f) {
// LOGICA AQUI
return f;
}
}
onde a classe Fornecedor por exemplo seria algo como:
[code]public class Fornecedor {
private int id;
private String nome;
public int getId() {
return id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}[/code]
O problema é como mapear esta classe Fornecedor para aparecer no WSDL para então gerar o Cliente que fará o processo.
Alguma documentação que ou exemplo que possa me ser util?
Para quem está com o mesmo problema do colega (que não nos colocou a solução), basta colocar as indicações do complex type que irá no schema do XML do WSDL a ser consumido. Pelo exemplo citado, bastaria colocar no POJO as seguintes indicações:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Fornecedor", propOrder = {
"id",
"nome"})
public class Fornecedor {
private int id;
private String nome;
public int getId() {
return id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
[quote=EderBaum]Acabei fazendo algo na unha mesmo, tendo que trabalhar diretamente com “SOAPMessage” e serialização com JAXB
Você pode achar algo sobre SOAPMessage e JAXB no tutorial da SUN sobre JEE na parte de WebServices[/quote]