Bonjour à tous

J'ai réalisé un projet avec EJB / REST / JPA , les fonctionalités EJB / JPA marchent trés bien avecc la base de données, le probléme vient REST . Quand je lance une requéte Uri pour obtenir la liste des questions (http://localhost:8080/SurveyWeb/rest/stats/sujet ) , je reçois un message d'erreur HTTP 500 sur la page mais sans détailler les erreurs ni sur la console du serveur (Glassfish / eclipse ) donc je ne sais pas de quelle erreur s'agit-t-il.
Ci dessous mes codes simples

ENTITY
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
@Entity
@Table(name = "Questionnaire") 
 
@NamedQueries({
    @NamedQuery(name="Questionnaire.findByName", query="SELECT u from Questionnaire u where u.nom = :nom"),
    @NamedQuery(name="Questionnaire.findAllOrderById", query="SELECT u FROM Questionnaire u order by u.id"),
 
})
@XmlRootElement(name = "questionnaire") 
public class Questionnaire implements Serializable{
	/**
         * 
         */
	private static final long serialVersionUID = 1L;
	@Id 
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name = "ID_QUESTIONNAIRE")
	private int id;
	@Column(name = "NOM")
	private String nom;
	@Column(name = "DESCRIPTION")
	private String description;
 
	@OneToMany(mappedBy = "questionnaire", cascade = CascadeType.ALL)
	private Set<Question> question;
 
	public Questionnaire() {
 
	}
 
 
	public Questionnaire( String nom, String description) {
 
		this.nom = nom;
		this.description = description;
 
	}
 
	/**
         * les getters et setters
         */
 
 
}

DAO
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
@Stateless
public class QuestionnaireDao implements QuestionnaireLocal {
 
 
	 @PersistenceContext
	 private EntityManager em;
 
	public Questionnaire getQuestionnaire(int id)  throws IOException,AppException{
		return em.find(Questionnaire.class, id);
	}
 
	@SuppressWarnings("unchecked")
	public List<Questionnaire> list()   throws IOException,	AppException{
	    Query query=em.createQuery("select m from Questionnaire m");
        return (List<Questionnaire>) query.getResultList();
	}
 
}
SERVICE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
@Stateless
@LocalBean
@Path("/stats")
public class SujetService {
 
	@EJB
	private QuestionnaireLocal customersDao;
	@EJB
	private QuestionLocal questionDao ;
 
 
	@GET
	@Path("/sujets")
	@Produces("application/json")
	@Consumes("application/json")
	public List<Questionnaire> sujets() throws IOException,	AppException {
 
	    for (Questionnaire ques : customersDao.list() ) {
	    	System.out.println(ques.getNom());  //--> affiche bien la liste des questions sur la console
			}
 
		return customersDao.list();
 
	}
}
WEB.XML
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>SurveyWeb</display-name>
  	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>
			org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
		</filter-class>
	</filter>
 
			<filter>
	    <filter-name>Tiles Filter</filter-name>
	    <filter-class>org.apache.tiles.web.startup.TilesFilter</filter-class>
	    <init-param>
	        <param-name>
	          org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
	        </param-name>
	        <param-value>
	          /WEB-INF/tiles.xml
	        </param-value>
	    </init-param>
	</filter>
 
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
  <servlet>
    <servlet-name>Jersey REST Service</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
      <param-name>jersey.config.server.provider.packages</param-name>
      <param-value>fr.survey.service</param-value>
    </init-param>
    	<init-param>
		<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
		<param-value>true</param-value>
	</init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Jersey REST Service</servlet-name>
    <url-pattern>/rest/*</url-pattern>
  </servlet-mapping>
  
</web-app>
Sans EJB , la requête marchait bien.

Merci