Webservice Para Iniciante - ComplexType?

Minha duvida é o seguinte.

Já fiz um webservice neste estilo aqui:

@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?

Bom dia.

Estou com a mesma dúvida. Será que alguém pode nos ajudar na implementação?

Abraços,
Luiz

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

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]

Então o que você disse indiretamente ele só aceita um objeto String como parametro.

Se sim , você poderia receber uma String contendo o json dentro onde você poderia transforma-lo e utilizalo depois normalmente como um objeto.