HTTPClient ouverture document dans une JSP
Bonjour,
A partir d'une jsp j'ouvre un fichier PDF, ce qui s'excute correctement
avec le code suivant :
Code:
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
|
<%
System.out.println("lurl pdf :"+urlCodedocPdf);
HttpClient client = new HttpClient();
// Create a method instance.
org.apache.commons.httpclient.methods.GetMethod method = new org.apache.commons.httpclient.methods.GetMethod(urlCodedocPdf);
// Provide custom retry handler is necessary
method.getParams().setParameter(org.apache.commons.httpclient.params.HttpMethodParams.RETRY_HANDLER,
new org.apache.commons.httpclient.DefaultHttpMethodRetryHandler(3, false));
try {
// Execute the method.
int statusCode = client.executeMethod(method);
if (statusCode != org.apache.commons.httpclient.HttpStatus.SC_OK) {
System.err.println("Method failed: " + method.getStatusLine());
}
// Read the response body.
response.setContentType ("application/pdf");
java.io.OutputStream os = response.getOutputStream();
try
{
InputStream ips = method.getResponseBodyAsStream();
java.io.InputStreamReader ipsr = new java.io.InputStreamReader(ips);
byte buffer[] = new byte[512 * 1024];
int nbLecture;
while ((nbLecture = ips.read(buffer)) != -1) {
os.write(buffer, 0, nbLecture);
}
}
catch (Exception e) {
e.printStackTrace();
} finally {
try {
os.close();
} catch (Exception e) {
}
} |
Mais il y a un mais ^^
lorsque mon fichier PDF est enfin ouvert j'obtiens le message d'erreur suivant :
Code:
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
|
WebGroup E SRVE0026E: [Erreur de servlet]-[Flux de sortie obtenu]: java.lang.IllegalStateException: Flux de sortie obtenu
at com.ibm.ws.webcontainer.srt.SRTServletResponse.getWriter(SRTServletResponse.java:523)
at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:202)
at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:193)
at org.apache.jasper.runtime.JspWriterImpl.flush(JspWriterImpl.java:246)
at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:197)
at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:255)
at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:249)
at org.apache.jsp._OpenDocument._jspService(_OpenDocument.java:248)
at com.ibm.ws.webcontainer.jsp.runtime.HttpJspBase.service(HttpJspBase.java:89)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.jsp.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:344)
at com.ibm.ws.webcontainer.jsp.servlet.JspServlet.serviceJspFile(JspServlet.java:683)
at com.ibm.ws.webcontainer.jsp.servlet.JspServlet.service(JspServlet.java:781)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
...
...
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:76)
at com.ft.dit.tipi.openged.utils.CharsetFilter.doFilter(CharsetFilter.java:25) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:132)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:71)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:1010)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:592)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:204)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:125)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:286)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:182)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:615)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:449)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:912) |
et au vu de cette pile d'erreurs je n'en vois pas l'origine.
Quelqu'un aurai-t-il déja rencontré ce type d'erreur ou une piste pour en trouvé l'origine.
Merci