Blz, segue os códigos das classes EstoqueWS e Filtros.
package br.com.estoque.ws;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import br.com.caelum.estoque.modelo.item.Filtro;
import br.com.caelum.estoque.modelo.item.Filtros;
import br.com.caelum.estoque.modelo.item.Item;
import br.com.caelum.estoque.modelo.item.ItemDao;
import br.com.caelum.estoque.modelo.item.ListaItens;
import br.com.caelum.estoque.modelo.usuario.AutorizacaoException;
import br.com.caelum.estoque.modelo.usuario.TokenDao;
import br.com.caelum.estoque.modelo.usuario.TokenUsuario;
@WebService
public class EstoqueWS {
private ItemDao dao = new ItemDao();
@WebMethod(operationName="todosOsItens")
@WebResult(name="itens")
public ListaItens getItens(@WebParam(name="filtros") Filtros filtros){
System.out.println("Chamando getItens()");
List lista = filtros.getLista();
List itens = dao.todosItens(lista);
return new ListaItens(itens);
}
@WebMethod(operationName="cadastrarItem")
@WebResult(name="itens")
public Item cadastrarItem(@WebParam(name = "tokenUsuario", header = true) TokenUsuario token,
@WebParam(name = "item") Item item) throws AutorizacaoException{
System.out.println("Cadastrando um item" + item + ", Token: " + token);
boolean valido = new TokenDao().ehValido(token);
if(!valido){
throw new AutorizacaoException("Autorização falhou");
}
this.dao.cadastrar(item);
return item;
}
}
package br.com.caelum.estoque.modelo.item;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Filtros {
@XmlElement(name="filtro")
private List filtros;
public Filtros(List filtros) {
this.filtros = filtros;
}
Filtros() {
}
public List getLista() {
return filtros;
}
}