I finally managed to make MyFaces 1.09 work with SunOne Application Server 
7.0.0.7

In fact, there are two problems with it:

1. Security in SunOne prevents web apps to delete files.

  SYMPTOM:
        MyFaces Web-app can't initialize.

  LOG:

[30/Jun/2005:17:32:49] INFO ( 4584): CORE3282: stdout: 2005-06-30 17:32:49,560 
[main] ERROR org.apache.myfaces.webapp.StartupServletContextListener - Error 
initializing ServletContext
[30/Jun/2005:17:32:49] INFO ( 4584): CORE3282: stdout: 
javax.faces.FacesException: java.security.AccessControlException: access 
denied (java.io.FilePermission C:\WINDOWS\TEMP\myfaces51482.jar delete)
[30/Jun/2005:17:32:49] WARNING ( 4584): CORE3283: stderr: 
javax.faces.FacesException: java.security.AccessControlException: access 
denied (java.io.FilePermission C:\WINDOWS\TEMP\myfaces51482.jar delete)
[30/Jun/2005:17:32:49] INFO ( 4584): CORE3282: stdout:  at 
org.apache.myfaces.config.FacesConfigurator.feedJarConfig(FacesConfigurator.java:399)
[30/Jun/2005:17:32:49] WARNING ( 4584): CORE3283: stderr:       at 
org.apache.myfaces.config.FacesConfigurator.feedJarConfig(FacesConfigurator.java:399)
[30/Jun/2005:17:32:49] INFO ( 4584): CORE3282: stdout:  at 
org.apache.myfaces.config.FacesConfigurator.feedJarFileConfigurations(FacesConfigurator.java:311)
[30/Jun/2005:17:32:49] WARNING ( 4584): CORE3283: stderr:       at 
org.apache.myfaces.config.FacesConfigurator.feedJarFileConfigurations(FacesConfigurator.java:311)
[30/Jun/2005:17:32:49] INFO ( 4584): CORE3282: stdout:  at 
org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:203)
[30/Jun/2005:17:32:49] WARNING ( 4584): CORE3283: stderr:       at 
org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:203)

 The problem is that FacesConfigurator writes some temporary .jar files in 
order to read their included faces-config.xml, dans then tries to delete 
them.
 But by default SunOne 7 App server security doesn't allow file delete.

 FIX:
 Change the security of the application server to allow file deletion.
  In the file
        C:\Sun\AppServer7\domains\domain1\server1\config\server.policy

 Change
        permission java.io.FilePermission       "<<ALL FILES>>", "read,write";
  To
        permission java.io.FilePermission       "<<ALL FILES>>", 
"read,write,delete";


 QUESTION:
 It will be difficult for me to manage my clients to change their  default 
security settings.
 How can we avoid these temporary jar files ?

 2. Once the security is changed, we have another problem because of JSP 2.0 
dependency.

  SYMPTOM:
        Any Jsp page result is blank.

  LOG:
        No log, no errors on log.

  FIX:
        SunOne AppServer 7 is J2EE 1.3 compliant, that means it supports jsp 
1.2.
  As MyFaces is dependant on JSP 2.0, we put the jsp-api-2.0.jar in our 
WEB-INF/lib, and this made the error.
        In order to make it work, you need to remove all .class from 
jsp-api-2.0.jar 
excepts the ones in package javax.servlet.jsp.el.

  QUESTION:
        Isn't there another solution ?
        Is it possible to completely get rid of this jsp 2.0 dependency ?


 Gérard COLLIN

Reply via email to