Bonjour,

dans mon appli flex, j'appelle une servlet qui me génére un fichier PDF. J'aimerais récupérer coté flex les exception qui peuvent se produire dans ma servlet et affiché un message d'erreur au client mais je ne vois pas comment faire.

Mon code flex

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
var urlRequest:URLRequest = new URLRequest(CasModelLocator.getInstance().rootUrl +"/ReportPDF");
		var variables:URLVariables = new URLVariables();
		variables.trainees = event.param as String;
		urlRequest.data = variables;
		urlRequest.method =URLRequestMethod.POST;
		navigateToURL(urlRequest,"_top");
et java

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
protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		DocumentException ex = null;
 
		ByteArrayOutputStream baosPDF = null;
		try {
			if(1==1)
				throw new ServletException("testr");
			baosPDF = generatePDFDocumentBytes(request, this
					.getServletContext());
 
			StringBuffer sbFilename = new StringBuffer();
			sbFilename.append("Report");
			sbFilename.append(".pdf");
 
			response.setHeader("Cache-Control", "max-age=30");
			response.setContentType("application/pdf");
 
			StringBuffer sbContentDispValue = new StringBuffer();
			sbContentDispValue.append("attachment");
			sbContentDispValue.append("; filename=");
			sbContentDispValue.append(sbFilename);
 
			response.setHeader("Content-disposition", sbContentDispValue
					.toString());
 
			response.setContentLength(baosPDF.size());
			ServletOutputStream sos;
			sos = response.getOutputStream();
 
			baosPDF.writeTo(sos);
			sos.flush();
		}catch(ServletException se){
			throw se;
		}
		catch (DocumentException dex) {
 
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			if (baosPDF != null) {
				baosPDF.reset();
			}
		}
	}
j'ai essayé coté flex de mettre un try {}catch(e:Error) mais je ne rentre jamais dans le catch..

Merci et joyeux noel