incubator-adffaces-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Winer" <awi...@gmail.com>
Subject Re: Problems running ADF Faces in Tomcat with security manager enabled
Date Wed, 10 May 2006 22:46:07 GMT
On 5/10/06, Fabio C. Rispoli <frispoli@gmail.com> wrote:
> Adam,
>
> We didn't succeed in deplying my ADF Faces application to Tomcat in a shared
> JVM environment. We have faced different exceptions when we tried to run it
> and none gave us a solid clue on how to solve the problems.
>
> On of them, pointed out by my web host administrator, is that ADF tries to
> write to Tomcat's work directory. Is that an expected behavior?

We write temporary files to the work directory, which the servlet
spec allows.  I'm surprised Tomcat blocks this under the
security manager.

> When the
> permission to write to that directory was granted, the following exception
> arose:
>
> java.lang.IllegalArgumentException: context URI for imagesCache ends with a
> slash

This is a new one on me;  FWIW, Tomcat 5.0 and 5.5 are my usual
deployment targets, so I'm puzzled in the extreme by the difficulties you're
having.

-- Adam


> oracle.adfinternal.view.faces.share.config.ConfigurationImpl.getURI(Configur
> ationImpl.java:102)
>
> oracle.adfinternal.view.faces.ui.laf.base.BaseLafUtils.getConfiguredURL(Base
> LafUtils.java:607)
>
> oracle.adfinternal.view.faces.ui.laf.base.LafIconProvider.getCacheImageURI(L
> afIconProvider.java:47)
>
> oracle.adfinternal.view.faces.ui.laf.base.desktop.HtmlLafRenderer.writeCache
> ImageURI(HtmlLafRenderer.java:253)
>
> oracle.adfinternal.view.faces.ui.laf.base.desktop.GeneratedImageRenderer.ren
> derImage(GeneratedImageRenderer.java:143)
>
> oracle.adfinternal.view.faces.ui.laf.base.desktop.GeneratedImageRenderer.ren
> derImage(GeneratedImageRenderer.java:88)
>
> oracle.adfinternal.view.faces.ui.laf.base.desktop.ButtonRenderer.renderImage
> Content(ButtonRenderer.java:146)
>
> oracle.adfinternal.view.faces.ui.laf.base.desktop.ButtonRenderer.renderConte
> nt(ButtonRenderer.java:105)
>
> oracle.adfinternal.view.faces.ui.BaseRenderer.render(BaseRenderer.java:81)
>
> oracle.adfinternal.view.faces.ui.laf.base.xhtml.XhtmlLafRenderer.render(Xhtm
> lLafRenderer.java:66)
>
> oracle.adfinternal.view.faces.ui.laf.base.desktop.ButtonRenderer.render(Butt
> onRenderer.java:187)
>
> oracle.adfinternal.view.faces.uinode.UIXComponentUINode.renderInternal(UIXCo
> mponentUINode.java:177)
>
> oracle.adfinternal.view.faces.uinode.UINodeRendererBase.encodeEnd(UINodeRend
> ererBase.java:53)
>
> oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.
> java:624)
>
> oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeChild(CoreRe
> nderer.java:236)
>
> oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelHorizontalRenderer._
> encodeChild(PanelHorizontalRenderer.java:158)
>
> oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelHorizontalRenderer._
> encodeChildren(PanelHorizontalRenderer.java:139)
>
> oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelHorizontalRenderer.e
> ncodeAll(PanelHorizontalRenderer.java:62)
>
> oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeEnd(CoreRend
> erer.java:159)
>
> oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.
> java:624)
>
> oracle.adfinternal.view.faces.uinode.UIComponentUINode._renderComponent(UICo
> mponentUINode.java:317)
>
> oracle.adfinternal.view.faces.uinode.UIComponentUINode.render(UIComponentUIN
> ode.java:262)
>
> oracle.adfinternal.view.faces.uinode.UIComponentUINode.render(UIComponentUIN
> ode.java:239)
>
> oracle.adfinternal.view.faces.ui.BaseRenderer.renderChild(BaseRenderer.java:
> 412)
>
> oracle.adfinternal.view.faces.ui.BaseRenderer.renderIndexedChild(BaseRendere
> r.java:330)
>
> oracle.adfinternal.view.faces.ui.BaseRenderer.renderIndexedChild(BaseRendere
> r.java:222)
>
> oracle.adfinternal.view.faces.ui.BaseRenderer.renderContent(BaseRenderer.jav
> a:129)
>
> oracle.adfinternal.view.faces.ui.BaseRenderer.render(BaseRenderer.java:81)
>
> oracle.adfinternal.view.faces.ui.laf.base.xhtml.XhtmlLafRenderer.render(Xhtm
> lLafRenderer.java:66)
>
> oracle.adfinternal.view.faces.uinode.UIXComponentUINode.renderInternal(UIXCo
> mponentUINode.java:177)
>
> oracle.adfinternal.view.faces.uinode.UINodeRendererBase.encodeEnd(UINodeRend
> ererBase.java:53)
>
> oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.
> java:624)
>
> oracle.adfinternal.view.faces.renderkit.RenderUtils.encodeRecursive(RenderUt
> ils.java:54)
>
> oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeChild(CoreRe
> nderer.java:232)
>
> oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeAllChildren(
> CoreRenderer.java:255)
>
> oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelPartialRootRenderer.
> renderContent(PanelPartialRootRenderer.java:65)
>
> oracle.adfinternal.view.faces.renderkit.core.xhtml.BodyRenderer.renderConten
> t(BodyRenderer.java:117)
>
> oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelPartialRootRenderer.
> encodeAll(PanelPartialRootRenderer.java:147)
>
> oracle.adfinternal.view.faces.renderkit.core.xhtml.BodyRenderer.encodeAll(Bo
> dyRenderer.java:60)
>
> oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.delegateRenderer(C
> oreRenderer.java:271)
>
> oracle.adfinternal.view.faces.renderkit.core.xhtml.DocumentRenderer.encodeAl
> l(DocumentRenderer.java:60)
>
> oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeEnd(CoreRend
> erer.java:159)
>
> oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.
> java:624)
>         javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:623)
>         javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:546)
>
> oracle.adf.view.faces.webapp.UIXComponentTag.doEndTag(UIXComponentTag.java:1
> 00)
>
> org.apache.jsp.login_jsp._jspx_meth_af_document_0(login_jsp.java:173)
>         org.apache.jsp.login_jsp._jspx_meth_f_view_0(login_jsp.java:142)
>         org.apache.jsp.login_jsp._jspService(login_jsp.java:93)
>         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3
> 32)
>
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
> )
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
> .java:25)
>         java.lang.reflect.Method.invoke(Method.java:585)
>
> org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
>         java.security.AccessController.doPrivileged(Native Method)
>         javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>
> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
>
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:16
> 1)
>         java.security.AccessController.doPrivileged(Native Method)
>         java.security.AccessController.doPrivileged(Native Method)
>
> com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:
> 322)
>
> com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:13
> 0)
>
> oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView(ViewHan
> dlerImpl.java:159)
>
> com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java
> :87)
>         com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
>         com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
>         javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
>         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
> )
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
> .java:25)
>         java.lang.reflect.Method.invoke(Method.java:585)
>
> org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
>         java.security.AccessController.doPrivileged(Native Method)
>         javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>
> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
>
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:16
> 1)
>         java.security.AccessController.doPrivileged(Native Method)
>
> oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfF
> acesFilterImpl.java:279)
>
> oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFac
> esFilterImpl.java:248)
>
> oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFil
> terImpl.java:172)
>
> oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:80)
>         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
> )
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
> .java:25)
>         java.lang.reflect.Method.invoke(Method.java:585)
>
> org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
>         java.security.AccessController.doPrivileged(Native Method)
>         javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>
> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
>
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:21
> 7)
>
> When that access was denied, the components were rendered, but with no
> look-and-feel definitions taken under consideration, and the forms didn't
> work (clicked a buttom and nothing happened).
>
> It is worth mentioning that the application runs correctly in my private
> environment, under Tomcat with the security manager disabled.
>
> I don't have much knowledge on Tomcat's security policy, so it is difficult
> to give more details. What I've been told by the web host administrator
> about security permissions is that "beyond what we normally give to get it
> running", my app have been granted:
>
> permission java.io.FilePermission
> "${catalina.home}/work/Catalina/******.com.br/_/-", "read,write,delete";
>
>
> permission java.lang.RuntimePermission "getClassLoader";
>
> Thank you.
>
>
> Fábio C. Rispoli
>
>
>
>
> --
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006
>
>
>

Mime
View raw message