<%@ page isErrorPage="true" %> <%@ page import="at.gv.egiz.pdfas.web.helper.LocalRequestHelper" %> <%@ page import="at.gv.egiz.pdfas.web.servlets.SignServlet" %> <%@page import="at.gv.egiz.pdfas.api.exceptions.PdfAsException"%> <%@ page import="at.gv.egiz.pdfas.web.session.SignSessionInformation" %> <%@ page import="at.gv.egiz.pdfas.web.session.VerifySessionInformation" %> <%@ page import="at.gv.egiz.pdfas.web.session.SessionAttributes" %> <%@ page import="org.apache.commons.httpclient.util.EncodingUtil" %> <%@ page import="org.apache.commons.httpclient.NameValuePair" %> <%@ page import="at.gv.egiz.pdfas.web.helper.SignServletHelper" %> <%@ page import="org.apache.commons.lang.StringEscapeUtils" %> <%@ page import="java.io.*" %> <%@ include file="language.jsp" %> <fmt:message key="error.title"/> <% PdfAsException pe; if (exception != null && exception instanceof PdfAsException) { pe = (PdfAsException)exception; SignServlet.prepareDispatchToErrorPage(pe, request); } else { pe = (PdfAsException)request.getAttribute("PresentableException"); } String error = request.getParameter("error"); boolean paramInvok = false; if (error == null) { error = (request.getAttribute("error") == null ? "" : request.getAttribute("error").toString()); } else { paramInvok = true; } String cause = request.getParameter("cause"); if (cause == null) { cause = (request.getAttribute("cause") == null ? "" : request.getAttribute("cause").toString()); } else { paramInvok = true; } boolean rb = Boolean.TRUE.equals((Boolean) request.getAttribute("resourcebundle")); Object sessionInfo = session.getAttribute(SessionAttributes.ATTRIBUTE_SESSION_INFORMATION); boolean isExternalInvocation = false; if (sessionInfo != null) { if (sessionInfo instanceof SignSessionInformation) { SignSessionInformation si = (SignSessionInformation) sessionInfo; isExternalInvocation = (si != null && si.exappinf != null); if (isExternalInvocation) { String urlParams = EncodingUtil.formUrlEncode(new NameValuePair[] { new NameValuePair("error", error), new NameValuePair("cause", cause) }, "ISO8859_1"); if (si.exappinf.invoke_error_url == null) { // prevent circular redirect si.exappinf = null; String redirectUrl = response.encodeRedirectURL(request.getContextPath() + "/jsp/error.jsp" + "?" + urlParams); session.setAttribute(SessionAttributes.PARENT_WEBAPP_REDIRECT_URL, redirectUrl); } else { String errorUrl = si.exappinf.invoke_error_url + "?" + urlParams; session.setAttribute(SessionAttributes.PARENT_WEBAPP_REDIRECT_URL, errorUrl); } String redirectHelper = response.encodeRedirectURL(request.getContextPath() + "/jsp/redirect_to_parent.jsp"); SignServletHelper.disableBrowserCacheForResponse(response); response.sendRedirect(redirectHelper); } } } %>

<% if (rb) { %> <% } else { out.write(StringEscapeUtils.escapeHtml(error)); } %>
: <% if (rb) { %> <% } else { out.write(StringEscapeUtils.escapeHtml(cause)); } %>
<% if (!isExternalInvocation && !paramInvok) { %>
<% } // end if %>
		<%
		  if (pe != null) {
		    StringWriter sw = new StringWriter();
		    PrintWriter pw = new PrintWriter(sw);
		    pe.printStackTrace(pw);
		    sw.close();
		    pw.close();
		    out.print(StringEscapeUtils.escapeHtml(sw.toString()));
		  }
		%>