aboutsummaryrefslogtreecommitdiff
path: root/src/main/webapp/jsp/error.jsp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/webapp/jsp/error.jsp')
-rw-r--r--src/main/webapp/jsp/error.jsp38
1 files changed, 22 insertions, 16 deletions
diff --git a/src/main/webapp/jsp/error.jsp b/src/main/webapp/jsp/error.jsp
index bcac0dc..d135f88 100644
--- a/src/main/webapp/jsp/error.jsp
+++ b/src/main/webapp/jsp/error.jsp
@@ -3,6 +3,7 @@
<%@ page import="at.knowcenter.wag.egov.egiz.web.servlets.SignServlet" %>
<%@ page import="at.knowcenter.wag.egov.egiz.exceptions.*" %>
<%@ page import="at.gv.egiz.pdfas.web.SignSessionInformation" %>
+<%@ page import="at.gv.egiz.pdfas.web.VerifySessionInformation" %>
<%@ page import="at.knowcenter.wag.egov.egiz.web.SessionAttributes" %>
<%@ page import="org.apache.commons.httpclient.util.EncodingUtil" %>
<%@ page import="org.apache.commons.httpclient.NameValuePair" %>
@@ -46,24 +47,29 @@
paramInvok = true;
}
boolean rb = Boolean.TRUE.equals((Boolean) request.getAttribute("resourcebundle"));
- SignSessionInformation si = (SignSessionInformation) session.getAttribute(SessionAttributes.ATTRIBUTE_SESSION_INFORMATION);
+ Object sessionInfo = session.getAttribute(SessionAttributes.ATTRIBUTE_SESSION_INFORMATION);
- boolean 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);
+ 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);
+ }
}
- String redirectHelper = response.encodeRedirectURL(request.getContextPath() + "/jsp/redirect_to_parent.jsp");
- SignServletHelper.disableBrowserCacheForResponse(response);
- response.sendRedirect(redirectHelper);
}
%>