Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    FileNotFound exception: header_menu_Disabled.png

    Dear All,

    Please help me getting rid of the following exception.

    SmartGwt is looking for a file
    Code:
    /modulename/sc/skins/Enterprise/images/ListGrid/header_menu_Disabled.png
    and I can see the following exception in the server logs
    Code:
    00000054 filter E com.ibm.ws.webcontainer.filter.FilterInstanceWrapper service SRVE8109W: Uncaught exception thrown by filter cachingFilter: java.io.FileNotFoundException: SRVE0190E: File not found: /docspace/sc/skins/Enterprise/images/ListGrid/header_menu_Disabled.png 
    at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor._processEDR(DefaultExtensionProcessor.java:893) 
    at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.processEDR(DefaultExtensionProcessor.java:874) 
    at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:434) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:125) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:92) 
    at my.company.web.cache.CacheFilter.doFilter(CacheFilter.java:45) 
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89) 
    at my.company.web.TransFilter.doFilter(TransFilter.java:60) 
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:926) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1023) 
    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3703) 
    at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304) 
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:962) 
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662) 
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305) 
    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83) 
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) 
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) 
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) 
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) 
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) 
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) 
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1659)
    The code of the CacheFilter is very simple:
    Code:
           if (request instanceof HttpServletRequest) {
    
                long maxAge = getMaxAge();
                Date now = new Date();
    
                HttpServletRequest httpRequest = (HttpServletRequest) request;
                HttpServletResponse httpResponse = (HttpServletResponse) response;
                
                String requestURI = httpRequest.getRequestURI();
                if (!requestURI.contains(".nocache.")) {
                    httpResponse.setHeader(HttpResponseHeader.CACHE_CONTROL, "maxAge=" + maxAge + ", private");
                    httpResponse.setDateHeader(HttpResponseHeader.EXPIRES, now.getTime() + 1000 * ONE_DAY_IN_SECONDS);
                }
                chain.doFilter(request, response); //LINE 45 -- EXCEPTION
            }
        }
    I already put a file with the requested name to the following locations. "webapp" is the web content directory (contains WEB-INF)

    1) webapp\modulename\sc\skins\Enterprise\images\ListGrid\header_menu_Disabled.png
    2) webapp\sc\skins\Enterprise\images\ListGrid\header_menu_Disabled.png

    If I could ask the ListGrid not to look for that file, that would be even better. It started to request that file after I have migrated the application from WebSphere 6.1 to WebSphere 8.

    SmartGwt version: 2.2
    Gwt version: 2.1.0
    Java version: 1.6

    Thank you really much in advance!
    Akos
Working...
X