Estou tentando fazer comq ue um WebService Retorne List.
No metodo de cima, retornando apenas o objeto dá certo… agora quando faço pra retornar um List… sem chance…
Estou usando NetBeans e Glassfish.
Quem puder ajudar… valeu…
Abaixo segue o código :
@WebMethod(operationName = "getPessoaFisica")
public PessoaFisica getPessoaFisica(){
PessoaFisica p = new PessoaFisica();
p.setNome("Rodrigo");
p.setSobrenome("Klein");
p.setIdade(30);
return p;
}
@WebMethod(operationName = "getPessoaFisicaList")
public List getPessoaFisicaList(){
List l = (List) null;
PessoaFisica p = new PessoaFisica();
p.setNome("Rodrigo");
p.setSobrenome("Klein");
p.setIdade(30);
l.add(p);
PessoaFisica p2 = new PessoaFisica();
p2.setNome("Rodrigo");
p2.setSobrenome("Klein");
p2.setIdade(30);
l.add(p2);
return l;
}
E o erro.
getPessoaFisicaList Method invocation
Method parameter(s)
Type Value
Service invocation threw an exception with message : null; Refer to the server log for more details
@WebMethod(operationName = "op")
public java.lang.String[] op() {
//TODO grava o seu código de implementação aqui:
String[] x = new String[2];
x[1]= "a";
x[2]= "b";
return x;
}
@WebMethod(operationName = "op")
public java.lang.String[] op() {
//TODO grava o seu código de implementação aqui:
String[] x = new String[2];
x[1]= "a";
x[2]= "b";
return x;
}
Estara passando uma String um tipo suportado pelos ws e na outra ponta transforma a String Xml em objeto, mas não é muito legal passar um xml dentro de um ws que ja é um xml.
Uma outra opção é gerar um ws do tipo restful e gerar um JSON, a maioria das linguagens dão suporte.
Com a Ajuda de vcs acabei conseguindo fazer funcionar…
Mas vc saberia me dizer se retornando o dado dessa forma, qualquer linguagem conseguiria consumir este WS ?
Ou pra este WS ser acessado por .net eu preciso fazer mais algo nele.
Abs
[quote=Pedrosa]Talves vc consiga assim se usar o Xtream que tranforma um objeto em String e vice versa:
Estara passando uma String um tipo suportado pelos ws e na outra ponta transforma a String Xml em objeto, mas não é muito legal passar um xml dentro de um ws que ja é um xml.
Uma outra opção é gerar um ws do tipo restful e gerar um JSON, a maioria das linguagens dão suporte.[/quote]
Se o cliente que ira consumir seu WS não for java o ideal é não usar Collections como retorno. Algumas linguagens nao entendem esse tipo de conjunto.
Utilize array.
Uma coisa que estou notando… se eu mandar uma Entity ou uma List de Entityvindo direto do banco como saida dá pau… deve ser por conta dos relacionamentos, certo ?
Então como exemplo… pra retornar qualquer objeto/List vindo do banco eu teria que fazer um outro objeto igual e popular ele com os dados do objeto que vieram do banco ?
Valeu…
[quote=jgbt]Se o cliente que ira consumir seu WS não for java o ideal é não usar Collections como retorno. Algumas linguagens nao entendem esse tipo de conjunto.
Utilize array.
Poutz!!! Acabou que o cara não postou o código final, nem disse onde era o erro, pra ajudar algum coitado (como eu) que estivesse enrolado no mesmo problema.
Nesses casos eu uso um XML para passar a lista de objetos. Geralmente crio um xml do objeto e um da lista. Ai passo essa lista como retorno.
Abs
[quote=bonissauro]Poutz!!! Acabou que o cara não postou o código final, nem disse onde era o erro, pra ajudar algum coitado (como eu) que estivesse enrolado no mesmo problema.