We've successfully deployed an application using Struts 1.0b1 and it's 
working fine. Yesterday however, we introduced an SSL certificate onto 
the web server, and now, when my application is accessed via HTTPS 
instead of HTTP, certain exceptions occur on a regular basis. One of 
them is in <logic:redirect>. Here are the relevent snippets:

Environment:
RH Linux 7.1
Sun JDK 1.3
Apache 1.3.14
Tomcat 3.2.1

Relevent JSP code:

<%-- Make sure a patient is logged in; if not, forward to the logon page 
--%>
<logic:notPresent name="patient">
       <logic:redirect forward="patientLogonPage"/>
</logic:notPresent>

Exception details:

   Name: java.lang.NullPointerException
Message: null
  Stack: java.lang.NullPointerException
        at 
org.apache.tomcat.facade.HttpServletResponseFacade.isEncodeable(HttpServletResponseFacade.java:333)
        at 
org.apache.tomcat.facade.HttpServletResponseFacade.encodeRedirectURL(HttpServletResponseFacade.java:122)
        at org.apache.struts.taglib.logic.RedirectTag.doEndTag(RedirectTag.java:274)
        at 
jsp.patient._0002fjsp_0002fpatient_0002fcontact_0002dform_0002ejspcontact_0002dform_jsp_4._jspService(_0002fjsp_0002fpatient_0002fcontact_0002dform_0002ejspcontact_0002dform_jsp_4.java:135)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:177)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
        at org.apache.tomcat.core.Handler.service(Handler.java:286)
        at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
        at 
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
        at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
        at 
org.apache.tomcat.service.connector.Ajp13ConnectionHandler.processConnection(Ajp13ConnectionHandler.java:160)
        at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
        at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
        at java.lang.Thread.run(Thread.java:484)

struts-config.xml contains:

<!-- ========== Global Forward Definitions ============================== -->
  <global-forwards>
         [...other entries ommitted...]
     <forward   name="patientLogonPage" path="/jsp/patient/logon.jsp"/>
  </global-forwards>


I've seen discussions that you cannot forward to a page using a different protocol 
(HTTP vs HTTPS) than the one the user came into your page with. However in my case, 
the source page is already being accessed via HTTPS, and the destination page, well, 
it's referenced via relative URL rather than absolute.

Any help would be appreciated. Is this a bug I'm likely to find fixed in beta-2, or am 
I configuring or doing something wrong somewhere?

Thanks,

Bryan



Reply via email to