Estou iniciando, na verdade aprendendo ainda, a desenvolver um webservice, estou utilizando netbeans 6.8. Comecei criando um webservice por ele, achei bem facil, minha duvida é o resultado q o cliente vai receber. Por exemplo, o cliente teria uma chamada “listaClientes”, o webservice pesquisaria no banco e teria um List<Cliente>, mas quero q o cliente receba um xml com este resultado, quero q todos os restornos sejam em xml pq os clientes estarao utilizando outras linguagens delphi, php, etc… entao nao posso retornar um objeto…
Como devo fazer retorno, tenho que pegar o list transformar em xml e todos os metodos retornariam uma String do xml ?
[quote=vdb]E ai pessoal…
Estou iniciando, na verdade aprendendo ainda, a desenvolver um webservice, estou utilizando netbeans 6.8. Comecei criando um webservice por ele, achei bem facil, minha duvida é o resultado q o cliente vai receber. Por exemplo, o cliente teria uma chamada “listaClientes”, o webservice pesquisaria no banco e teria um List<Cliente>, mas quero q o cliente receba um xml com este resultado, quero q todos os restornos sejam em xml pq os clientes estarao utilizando outras linguagens delphi, php, etc… entao nao posso retornar um objeto…
Como devo fazer retorno, tenho que pegar o list transformar em xml e todos os metodos retornariam uma String do xml ?
[/quote]
Imagino que esteja utilizando JAX-WS para construir seus WebServices no Netbeans…
Sua implementção em Java retorna Objetos, seja uma String um Cliente ou uma lista. De resto o java fornece ferramentas que irão gerar artefatos que fazem o trabalho “sujo”, como serializar estes objetos de retorno em XML, gerar o wsdl, etc.
@WebService(name = "MeuWS")
public class MeuWS {
@WebMethod(operationName = "obterClientes")
public List<Cliente>getClientes() {
return listaDeClientes;
}
@WebMethod(operationName = "clientePorId")
public Cliente getClienteById(@WebParam(name = "id") Integer id) {
return new Cliente();
}
}
Entao este codigo que vc passou como exemplo é a forma que estou fazendo. Mas meu cliente que ira consumir este webservice progrma em delphi, entao ele nao tem objetos Cliente ou List<Cliente>, ele precisa receber um xml,
sendo assim, acho q o retorno do metodo nao pode ser “Cliente”.
@WebMethod(operationName = "clientePorId")
public Cliente getClienteById(@WebParam(name = "id") Integer id) {
return new Cliente();
}
Minha duvida é se o retorno do metodo devo retornar a String do xml, ou tem alguma configuracao ou ferramenta faça isso ?