Bonjour,

Je rencontre un soucis relativement étonnant.
J'ai un webService Rest (Jersey) qui charge une page JSP contenant du JS (affichage de stats) :
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
 
/**
         * /stats return info
         *
         */
	@POST
	@Path("/")
	@Consumes("application/json")
	@Produces(MediaType.APPLICATION_FORM_URLENCODED)
	public Response stats(ApplicationStatsEntry entry)
	{
String datas = accountID + "/" + deviceUID + "/" + periodID;
 
		String encodedString = DecodeUtils.encodeString(accountID, new Long(-1), datas);
		String path = "/stats.jsp";
 
		Viewable view = new Viewable(path, encodedString);
 
		return Response.ok().entity(view).build();
	}
"encodedString" n'est pas intéressant ici, ce sont juste des paramètres pour la JSP.

Lorsque j'appelle ce service, cela me retourne une erreur 404 : La ressource demandée (/longservice/stats.jsp) n'est pas disponible. (longservice étant le nom du service déployé sur Tomcat).

Ce qui est étonnant est que si je rappelle ce service dans les 2 secondes, alors la page est bien chargée.
Par contre si j'attends 5-6 secondes entre les 2 demandes, alors j'ai une 404 les 2 fois.

L'un de vous a-t-il déjà rencontré ce problème ? Ceci me semble venir du fait que le service n'attend pas d'avoir chargé la page avant de répondre, mais...

J'ai essayé jusqu'à présent :
- Mettre la JSP dans "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
 
<servlet>
    <servlet-name>WSRESTJersey</servlet-name>
    <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
    <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>
	<servlet-name>MyServlet</servlet-name>
	<jsp-file>/stats.jsp</jsp-file>
	<load-on-startup>2</load-on-startup>
  </servlet> 
  <servlet-mapping>
    <servlet-name>MyServlet</servlet-name>
    <url-pattern>/longservice/stats.jsp</url-pattern>   
</servlet-mapping>
Pas de résultat.
- Précharger la page JSP et autre dans un FileInputStream puis tout placer dans un Buffer que je renvoie à la page. --> Pas mieux

Merci d'avance pour votre aide.