voyent
OutputStyle file attribute must end in .css  XML
Forum Index -> General Help
Author Message
futhark77

Joined: 18/Sep/2009 00:00:00
Messages: 56
Offline


I started receiving the following exception after converting my outputStyle tags to the #{resource['css:styles.css']} syntax:

java.lang.RuntimeException: OutputStyle file attribute must end in .css. Current Value is [/app/javax.faces.resource/styles.css.iface?ln=css]

This name constraint basically means I must avoid that syntax if I don't want exceptions to appear in my logs.

The exception appears harmless. If it really is, why throw it?

Is this name constraint imposed by jsf or icefaces?
deryk.sinotte


Joined: 26/Oct/2004 00:00:00
Messages: 1008
Offline


Which version of ICEfaces are you running?

Is there a stack trace or just the one line being logged?

My initial guess is that's there's extra processing being done to the href attribute to create the URL and this is tacking on the .iface extension.

Deryk Sinotte
Team Lead
ICEsoft Technologies, Inc.
futhark77

Joined: 18/Sep/2009 00:00:00
Messages: 56
Offline


This is with 3.1.0. I will need to investigate a bit more as I seem to be having different results depending in which of my envs I deploy.

But here is the exception I was having.

Code:
2012-09-24 14:17:19,339 ERROR com.icesoft.faces.component.style.OutputStyleRenderer  - Error in OutputStyleRenderer
 java.lang.RuntimeException: OutputStyle file attribute must end in .css. Current Value is [/app/javax.faces.resource/tce.css.iface?ln=css]
         at com.icesoft.faces.component.style.OutputStyleRenderer.encodeEnd(OutputStyleRenderer.java:119)
         at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
         at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402)
         at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
         at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
         at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
         at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
         at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
         at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
         at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
         at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
         at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:745)
         at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:716)
         at org.apache.jsp.index_jsp._jspService(index_jsp.java:63)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
         at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:186)
         at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
         at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
         at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
 
dsinotte

Joined: 14/Nov/2006 00:00:00
Messages: 33
Offline


The .iface mapping was something we typically recommended as part of ICEfaces 1.x:

<servlet-mapping>
<servlet-name>Persistent Faces Servlet</servlet-name>
<url-pattern>*.iface</url-pattern>
</servlet-mapping>

But we don't have our own servlets anymore - we just rely on the FacesServlet.

Are you migrating an older application to a newer version of ICEfaces? We have a page that summarizes some of the more important points of doing this:

http://www.icesoft.org/wiki/display/ICE/ICEfaces+1.x+Compatibility
futhark77

Joined: 18/Sep/2009 00:00:00
Messages: 56
Offline


I have migrated from 1.8.x but I no longer have this mapping. I have read your doc already :-)

I'll let you know if I can reproduce the exception.

Thank you!
futhark77

Joined: 18/Sep/2009 00:00:00
Messages: 56
Offline


I am having this exception again.

It seems to appear whatever I do with IE 8. Like typing an URL directly or navigating with my app menu. If I do the same with Firefox 18, nothing happens. I am including the css in my top level facelet, so it's not very surprising the problem spreads around.

Problem persists even after gutting my css completely.

I have upgraded to ICE 3.2 since my first encounter.

For now I'll put off using #{resource}.
dsinotte

Joined: 14/Nov/2006 00:00:00
Messages: 33
Offline


If you can provide a simple test case and the steps to reproduce, we'd be happy to take a look.
deryk.sinotte


Joined: 26/Oct/2004 00:00:00
Messages: 1008
Offline


I've opened up the following JIRA for this problem:

http://jira.icesoft.org/browse/ICE-8996

Thanks for letting us know.

Deryk Sinotte
Team Lead
ICEsoft Technologies, Inc.
ken.fyten

Joined: 26/Oct/2004 00:00:00
Messages: 1337
Offline


Hi,

The ICE-8996 JIRA has been resolved for ICEfaces 3.3.

Regards,
Ken

Ken Fyten
VP Product Development
ICEsoft Technologies, Inc.
 
Forum Index -> General Help
Go to:   
Powered by JForum 2.1.7ice © JForum Team