0 Replies Latest reply on Feb 7, 2013 8:04 PM by Mark Stanford

    Forms Servlet filter can't access HTTPServletRequest parameters

    Mark Stanford
      I'm tyring to build a SAML authentication processor into a servlet filter I'm putting in front of the Oracle forms 10g frmservlet and lservlet servlets, configured in the forms web.xml file. The filter runs great and does pretty much all I need, BUT it cannot access an HTTP Request Parameter coming from an SSL reverse proxy server, (in this case named "SAMLResponse")

      This encoded and encrypted request parameter (provided by a SAML authenticator integrated into the reverse proxy) contains a SAML payload that ultimately needs to be decoded to yield a userid, which oddly enough, I need to pass to Oracle forms as a forms parameter.

      Everything works (filter is called in the chain, etc.) in this scheme, EXCEPT I can't read the HTTP Request Parameter in the filter.

      The only parameter I CAN read is named 'config' with the value contained in the [xxx] string of the formsweb.cfg file.

      Eaxmple snippet from formsweb.cfg, and the source of the one readble parameter:

      # Sample configuration for deploying WebUtil. Note that WebUtil is shipped with
      # DS but not AS and is also available for download from OTN.
      [*webutil*] <<<<<<<<<<<----- This is the value of the ServletRequest parameter named "config" that I can read.

      Pertinent filter code:

      // Notice we use the servlet request and resposne not the HTTP
      public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
      HttpServletRequest request = (HttpServletRequest) req;

      Enumeration enumeration = request.getParameterNames();
      while (enumeration.hasMoreElements()) {           
      String parameterName = (String) enumeration.nextElement();
      log.debug("Enumerated Parameter = " + parameterName);

      All I EVER get in this enumeration is:

      Is there some way to configure the Apache server and oc4j container to pass through an HTTP Request parameter to the ServletRequest????