ER - Problem with ADF Faces filter when running ADF Faces within a portlet

I am attempting to get ADF Faces to run within Oracle Portal, i.e. within a portlet using the JPDK.
This, I am sure you are about to tell me, is not something that is fully supported, as yet.
However, I have been successful in getting MyFaces to run within a portlet, by customizing the form tag.
MyFaces, it seems, keeps track of the current viewid by storing it in the session, then uses this within the viewhandler and navigationhandler to determine the next view to load, based on the faces-config.xml navigation entries.
By customizing the form tag it is then possible to retrieve this viewid from the faces context and outputting it in the form's action parameter.
It is also possible, with a few more customizations, to run JSF RI within a portlet, i.e. by adding a custom viewhandler and loading a session variable with the current viewid from the faces context, then retrieving the viewid and outputting it as the action string in the customized form tag .
Unfortunately there does not appear to be any way of getting ADF Faces (EA19 version) to run as a portlet, with either the RI or with MyFaces.
I have configured a basic .jspx document in the <showPage> tags of the provider.xml file.
This uses only the form tag and a few input tags and works when executed directly within my portlet project in JDeveloper (http://localhost:8988/TestJSFAppContext/faces/htdocs/facesportlet/index.jspx) using a redirectfilter (*.jspx htdocs -> /faces/htdocs).
It is not possible to run ADF Faces with RI as a portlet since customization of the ADF Faces ViewHandler appears not to be supported.
When attempting to run this with MyFaces as a portlet, however, I get the following message:
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl verifyFilterIsInstalled
WARNING: The AdfFacesFilter has not been installed. ADF Faces requires this filter for proper execution.
I am having difficulty in understanding as to why this is happening but am guessing it must be something to do with either redirect URLs or due to the .jspx files being under /htdocs, i.e. the ADF Faces renderkit is checking that the ADF Faces filter is configured but the check fails since the filter does not execute.
I have configured the filter in web.xml, as detailed in the documentation:
  <filter>
    <filter-name>adfFaces</filter-name>
    <filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>adfFaces</filter-name>
    <servlet-name>ADF Faces Servlet</servlet-name>
  </filter-mapping>
<servlet>
    <servlet-name>ADF Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ADF Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>and have modified the provider.xml file as follows:-
      <renderer class="oracle.portal.provider.v2.render.RenderManager">
         <renderContainer>true</renderContainer>
         <renderCustomize>true</renderCustomize>
         <autoRedirect>true</autoRedirect>
         <contentType>text/html</contentType>
  <showPage>/faces/htdocs/facesportlet/index.jspx</showPage>        
         <editPage>/htdocs/facesportlet/FacesportletEditPage.jsp</editPage>
         <editDefaultsPage>/htdocs/facesportlet/FacesportletEditDefaultsPage.jsp</editDefaultsPage>
      </renderer>with the following tags also set:
   <session>true</session>
   <passAllUrlParams>true</passAllUrlParams>In order to ensure that the session stays alive so that the views are retrieved.
As I say, the page loads OK when run directly within the JPDK project within JDeveloper, with a redirect filter (*.jspx -> /faces/*.jspx) but not when run from within Oracle Portal.
In fact I have found that this filter is very sensitive, i.e. ADF Faces will not run in any project unless the configuration is exactly as above.
It seems that the MyFaces team have got around the problem of maintaining session state with redirections but that ADF Faces needs the page URL that is passed in to the filter to be consistent.
Is there some way around this, i.e. some kind of customization that I can implement to get the filter working?
Thnks

I have found a way to go round the problem.
I use the servlet 2.4/jsp 2.0 route and then
change the web.xml header to the servlet 2.3/jsp 1.2
format. Everything then works fine after this!
Please fix this for production.
Behnam

Similar Messages

Maybe you are looking for

  • There's any cable to connect my iPhone 4S with the TV

    I have not any apple tv or something like that! I'm only asking about any cable to connect my iPhone 4S to my PanasonicTV. Thanks at all!

  • Dynamic PL/SQL Report with html embedded in result

    Hi, I am trying to embed an html image tag element in an query result. I have followed the how to example (MS SQL down; Oracle up) successfully. However I now require the query to be dynamic based upon sone filtering criteria simalar to the how to ex

  • Email - too many recipients

    Each month I email out our Parish Newsletter to about 120 addressees.  This month, for the first time, it failed to deliver, returning an error message saying that I am exceeding the temporary limit of the server and that I have too many recipients. 

  • Firefox Hangs Downloading and Displaying PDF Files

    I've had a problem with Firefox for several years where it hangs in the middle of the file when downloading and displaying a PDF file.  Typically it downloads a few hundred kilobytes and then stalls. Recently I upgraded from Acrobat 8.1 to Acrobat 9.

  • Default page display HUGE

    Just installed Firefox for Windows8. The default page display is, I'm guessing, 140%. I actually have to zoom out to get them to a normal size. Is there any sort of settings option that will let me set a smaller default display for web pages?