Boa tarde amigos, estou tentando criar um WebService.
Utilizo o Jboss v5.0.
Tenho um Ejbmodule com as seguintes classes:
Fabricante.java
package br.com.teste;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "ADM_FABRICANTE")
public class Fabricante implements Serializable {
private static final long serialVersionUID = -8626941950315184190L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "AFB_ID")
private Integer id;
@Column(name = "AFB_NOME", length = 30, nullable = false)
private String nome;
public Fabricante() {
}
// get´s and set´s
FabricanteFacade.java
package br.com.teste;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
@Stateless
public class FabricanteFacade implements FabricanteLocal {
@PersistenceContext
private EntityManager em;
public FabricanteFacade() {
}
@SuppressWarnings("unchecked")
@Override
public List<Fabricante> findAll() {
return em.createQuery("from Fabricante").getResultList();
}
}
FabricanteLocal.java
package br.com.teste;
import java.util.List;
import javax.ejb.Local;
@Local
public interface FabricanteLocal{
List<Fabricante> findAll();
}
FabricanteRemote.java
package br.com.teste;
import java.util.List;
import javax.ejb.Remote;
@Remote
public interface FabricanteRemote {
List<Fabricante> findAll();
}
Preciso agora fazer um webservice que tenha acesso ao método findAll().
Então criei um novo projeto com a seguinte classe:
FabricanteWS.java
package principal;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebService;
import br.com.teste.Fabricante;
import br.com.teste.FabricanteFacade;
@WebService(name="Fabricante")
public class FabricanteWS {
private FabricanteFacade fabricantefacade;
@WebMethod(operationName="lista")
public List<Fabricante> getFabricante(){
return fabricantefacade.findAll();
}
}
Não consegui fazer rodar o webservice.
Qual a maneira correta de fazer ? Crio um ProjetoWeb para o webservice ?
Grato
Júnior