Web Services - List de um objeto

6 respostas
M

Olá pessoal,
Estou fazendo minha monografia, e tenho um web service onde criei um método que fornece dados de um cliente(nome, cpf, fone), fiz isso com um List do tipo String e funcionou blz.
Agora preciso modificar o método e retornar ao requerente dados de + de um cliente na mesma chamada. Tentei fazer isso criando um List e entao inserir List, mas nao rolou.
se desse pra transferir objetos cliente dentro de um List talvez fosse o ideal, mas nao sei como.

Alguém pode sugerir um meio de fazer isso?

estou usando SJSAS 9, JEE5

obrigado.

6 Respostas

nebal.metz

Opa.
Nao entendi direito.
Voce tem um metodo nesse teu ws cliente(nome cpf, fone), e retorna um List de String??
Tche o ideal seria voce criar um classe Cliente, serializando o mesmo, retornando um array desse Cliente.
Se voce esta criando esse cliente para acessar o ws em java ai tranquilo em usar um List pois outras linguagem nao trabalham com Collection(pelo q sei).

:smiley:

M

valeu, tá resolvido…
quase isso, o que queria na verdade era disponibilizar no meu web service um bean dentro de um list
consegui fazer através do XStream.
http://xstream.codehaus.org/tutorial.html

acabei encontrando em outro tópico o que eu queria:
http://www.guj.com.br/posts/list/77244.java#408088

nebal.metz

Blz, mas é uma mao tu fazer o parse desse objeto pra xml, depois o xml para objeto,… digamos que uma gambi.
Como te falei o certo seria um array de objetos, mas se voce quer assim ta resolvido!

:slight_smile:

M

Hum…Você diz pra fazer assim então:

@WebMethod
    public ClienteBean[] pegaClientes() {
        ClienteBean cliente = new ClienteBean();
        cliente.setNome("Marcos");
        cliente.setCidade("Curitiba");
        ClienteBean[] clientes = {cliente};
        return clientes;
    }

?

Até ja tinha tentado mas da um erro no deploy, parece que não gera o wsdl.
com.sun.enterprise.deployment.backend.IASDeploymentException: Error while running ejbc – Fatal Error from EJB Compiler – C:\Sun\SDK\domains\domain1\generated\xml\j2ee-modules\SCFWS\WEB-INF\wsdl\ScfService.wsdl (O sistema não pode encontrar o arquivo especificado).

nebal.metz

Isso mesmo.
Mas como tu tah fazendo deploy e criando o WSDL??
Atraves do wizard do eclipse??
Esse projeto eh um dynamic web certo e tu esta tratando ele como um aplicacao em si certo nao apenas uma classe q tu salva como jws e coloca no contexto do axis???
:slight_smile:

M

Não, estou utilizando o netbeans. Criei uma “Web Application” e inseri um arquivo “web service”.
Pelo que entendo o sjsas monta o arquivo wsdl no momento do deploy.

Criado 12 de fevereiro de 2008
Ultima resposta 16 de fev. de 2008
Respostas 6
Participantes 2