8 Replies Latest reply on Jun 4, 2009 10:50 AM by kash_meu

    Problem with rich:fileUpload

      I am using rich:fileUpload. I am facing problems with it. In web.xml i used

      <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
      <url-pattern>/*</url-pattern>

      for filter mapping. If i comment <url-pattern>/*</url-pattern> in web.xml then rich:fileUpload works fine otherwise it doesnt and i can not comment this line because then i face problems like ViewException in other pages.


      Need a solution for this

      Regards,
      Kashif

        • 1. Re: Problem with rich:fileUpload
          ilya_shaikovsky
          • 2. Re: Problem with rich:fileUpload

            Thanks for reply.

            i explored that example and i made changes in filter mapping in web.xml but its not working..

            Can you tell what i doing wrong.


            Kashif

            • 3. Re: Problem with rich:fileUpload
              ilya_shaikovsky

              add web.xml from the beggining.

              • 4. Re: Problem with rich:fileUpload

                my web.xml is given. i cant just replace it. I did changes in it comparing it your web.xml but its not working.

                Can you please point where i have to make changes




                <?xml version="1.0" encoding="UTF-8"?>
                <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
                <context-param>
                <param-name>javax.faces.CONFIG_FILES</param-name>
                <param-value>/WEB-INF/faces-config.xml</param-value>
                </context-param>
                <!-- Birt Reports Configuration -->
                <context-param>
                If usr can only access the reprot resources under working folder. Default is false
                <param-name>WORKING_FOLDER_ACCESS_ONLY</param-name>
                <param-value>false</param-value>
                </context-param>
                <context-param>
                The generated document files directory. Default to ${Context Root}/documents
                <param-name>BIRT_VIEWER_DOCUMENT_FOLDER</param-name>
                <param-value>WEB-INF/report-engine/documents</param-value>
                </context-param>
                <context-param>
                If turn on the function that supports print on the server side(ON|OFF).Default to on.
                <param-name>BIRT_VIEWER_PRINT_SERVERSIDE</param-name>
                <param-value>ON</param-value>
                </context-param>
                <context-param>
                Memory size(MB) for creating cube.
                <param-name>BIRT_VIEWER_CUBE_MEMORY_SIZE</param-name>
                <param-value/>
                </context-param>
                <context-param>
                Directory to store all birt report script libraries (JARs). Default to ${Context Root}/scriptlib
                <param-name>BIRT_VIEWER_SCRIPTLIB_DIR</param-name>
                <param-value>WEB-INF/report-engine/scriptlib</param-value>
                </context-param>
                <context-param>
                If always overwrite generated document file. Default to true
                <param-name>BIRT_OVERWRITE_DOCUMENT</param-name>
                <param-value>true</param-value>
                </context-param>
                <context-param>
                Output images/charts directory. Default to ${Context Root}/report/images
                <param-name>BIRT_VIEWER_IMAGE_DIR</param-name>
                <param-value>WEB-INF/report-engine/images</param-value>
                </context-param>
                <context-param>
                BIRT viewer extended configuration file
                <param-name>BIRT_VIEWER_CONFIG_FILE</param-name>
                <param-value>WEB-INF/report-engine/viewer.properties</param-value>
                </context-param>
                <context-param>
                Dataset rows limited when preview report. Default to return all rows
                <param-name>BIRT_VIEWER_MAX_ROWS</param-name>
                <param-value/>
                </context-param>
                <context-param>
                Cube fetch row levels limited when preview report (Only support to preview a report design file using preview pattern). Default to return all levels
                <param-name>BIRT_VIEWER_MAX_CUBE_ROWLEVELS</param-name>
                <param-value/>
                </context-param>
                <context-param>
                Default locale setting
                <param-name>BIRT_VIEWER_LOCALE</param-name>
                <param-value>en-US</param-value>
                </context-param>
                <context-param>
                Cube fetch column levels limited when preview report (Only support to preview a report design file using preview pattern). Default to return all levels
                <param-name>BIRT_VIEWER_MAX_CUBE_COLUMNLEVELS</param-name>
                <param-value/>
                </context-param>
                <context-param>
                Report resources(design files or document files) directory for preview. Default to ${Context Root}
                <param-name>BIRT_VIEWER_WORKING_FOLDER</param-name>
                <param-value/>
                </context-param>
                <context-param>
                Report Engine logs directory. Default to ${Context Root}/logs
                <param-name>BIRT_VIEWER_LOG_DIR</param-name>
                <param-value>WEB-INF/report-engine/logs</param-value>
                </context-param>
                <context-param>
                Resource location directory(library files, images files or others). Default to ${Context Root}
                <param-name>BIRT_RESOURCE_PATH</param-name>
                <param-value/>
                </context-param>
                <context-param>
                If force optimized HTML output.Default to true
                <param-name>HTML_ENABLE_AGENTSTYLE_ENGINE</param-name>
                <param-value>true</param-value>
                </context-param>
                <context-param>
                Report engine log level.( ALL|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST|OFF )
                <param-name>BIRT_VIEWER_LOG_LEVEL</param-name>
                <param-value>WARNING</param-value>
                </context-param>
                <context-param>
                <param-name>com.sun.faces.enableRestoreView11Compatibility</param-name>
                <param-value>true</param-value>
                </context-param>


                <!-- RichFaces configuration -->
                <context-param>
                <param-name>facelets.BUILD_BEFORE_RESTORE</param-name>
                <param-value>true</param-value>
                </context-param>
                <context-param>
                <param-name>org.richfaces.SKIN</param-name>
                <param-value>blueSky</param-value>
                </context-param>
                <!-- <context-param>
                <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
                <param-value>.xhtml</param-value>
                </context-param> -->


                <display-name>Ajax4jsf Filter</display-name>
                <filter-name>ajax4jsf</filter-name>
                <filter-class>org.ajax4jsf.Filter</filter-class>

                <filter-mapping>
                <filter-name>ajax4jsf</filter-name>
                <servlet-name>Faces Servlet</servlet-name>
                REQUEST
                FORWARD
                INCLUDE
                </filter-mapping>


                <display-name>RichFaces Filter</display-name>
                <filter-name>richfaces</filter-name>
                <filter-class>org.ajax4jsf.Filter</filter-class>
                <!-- Parameters used by <rich:fileUpload>
                start from here
                -->
                <init-param>
                <param-name>createTempFiles</param-name>
                <param-value>true</param-value>
                </init-param>
                <init-param>
                <param-name>maxRequestSize</param-name>
                <param-value>20000000</param-value>
                </init-param>
                <!-- Parameters used by <rich:fileUpload>
                end here
                -->


                <filter-name>MyFacesExtensionsFilter</filter-name>
                <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
                <init-param>
                Set the size limit for uploaded files. Format: 10 - 10 bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB
                <param-name>uploadMaxFileSize</param-name>
                <param-value>100m</param-value>
                </init-param>
                <init-param>
                Set the threshold size - files below this limit are stored in memory, files above this limit are stored on disk. Format: 10 - 10 bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB
                <param-name>uploadThresholdSize</param-name>
                <param-value>10</param-value>
                </init-param>
                <init-param>
                Set the path where the intermediary files will be stored.
                <param-name>uploadRepositoryPath</param-name>
                <param-value>c:\temp</param-value>
                </init-param>


                <filter-name>AccessFilter</filter-name>
                <filter-class>eu.digitania.dls.frontend.filters.AccessFilter</filter-class>


                <filter-name>ReportsFilter</filter-name>
                <filter-class>eu.digitania.dls.frontend.filters.ReportsFilter</filter-class>

                <!--
                <filter-name>AccessFilter</filter-name>
                <filter-class>eu.digitania.dls.frontend.filters.AccessFilter</filter-class>
                <init-param>
                <param-name>loginPage</param-name>
                <param-value>login.faces</param-value>
                </init-param>
                -->
                <filter-mapping>
                <filter-name>richfaces</filter-name>
                <servlet-name>Faces Servlet</servlet-name>
                REQUEST
                FORWARD
                INCLUDE
                </filter-mapping>
                <filter-mapping>
                <filter-name>MyFacesExtensionsFilter</filter-name>
                <!-- extension mapping for adding , , and other resource tags to JSF-pages -->
                <servlet-name>Faces Servlet</servlet-name>
                <!-- extension mapping for serving page-independent resources (javascript, stylesheets, images, etc.) -->
                <url-pattern>/faces/*</url-pattern>
                <!-- <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
                <url-pattern>/*</url-pattern>-->
                </filter-mapping>



                <filter-mapping>
                <filter-name>AccessFilter</filter-name>
                <url-pattern>*.faces</url-pattern>
                <url-pattern>*.servlet</url-pattern>
                </filter-mapping>
                <filter-mapping>
                <filter-name>ReportsFilter</filter-name>
                <url-pattern>/frameset</url-pattern>
                </filter-mapping>
                <!-- <filter-mapping>
                <filter-name>AccessFilter</filter-name>
                <url-pattern>/dlsreports/*</url-pattern>
                <url-pattern>/push_service/*</url-pattern>
                FORWARD
                </filter-mapping>-->

                <listener-class>org.eclipse.birt.report.listener.ViewerHttpSessionListener</listener-class>


                <listener-class>org.eclipse.birt.report.listener.ViewerServletContextListener</listener-class>


                <servlet-name>Faces Servlet</servlet-name>
                <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
                <load-on-startup>0</load-on-startup>


                <servlet-name>EngineServlet</servlet-name>
                <servlet-class>org.eclipse.birt.report.servlet.BirtEngineServlet</servlet-class>
                <load-on-startup>0</load-on-startup>


                <servlet-name>ViewerServlet</servlet-name>
                <servlet-class>org.eclipse.birt.report.servlet.ViewerServlet</servlet-class>
                <load-on-startup>0</load-on-startup>


                This is the description of my J2EE component
                <display-name>This is the display name of my J2EE component</display-name>
                <servlet-name>EditServiceServlet</servlet-name>
                <servlet-class>eu.digitania.dls.frontend.servlets.EditServiceServlet</servlet-class>


                Starts the Emulator
                <display-name>Starts the Emulator</display-name>
                <servlet-name>InitializerServlet</servlet-name>
                <servlet-class>eu.digitania.dls.emulator.InitializerServlet</servlet-class>
                <load-on-startup>1</load-on-startup>


                This is the description of my J2EE component
                <display-name>This is the display name of my J2EE component</display-name>
                <servlet-name>InvoiceServlet</servlet-name>
                <servlet-class>eu.digitania.dls.frontend.servlets.InvoiceServlet</servlet-class>


                This is the description of my J2EE component
                <display-name>This is the display name of my J2EE component</display-name>
                <servlet-name>DownloadInvoiceServlet</servlet-name>
                <servlet-class>eu.digitania.dls.frontend.servlets.DownloadInvoiceServlet</servlet-class>



                This is the description of my J2EE component
                <display-name>This is the display name of my J2EE component</display-name>
                <servlet-name>DisplayImageServlet</servlet-name>
                <servlet-class>eu.digitania.dls.frontend.servlets.DisplayImageServlet</servlet-class>


                <servlet-name>DownloadMediaFileServlet</servlet-name>
                <servlet-class>eu.digitania.dls.frontend.servlets.DownloadMediaFileServlet</servlet-class>


                All content delivery requests will be handled by this servlet
                <display-name>Content Delivery Servlet</display-name>
                <servlet-name>ContentDeliveryServlet</servlet-name>
                <servlet-class>eu.digitania.cmp.frontend.contentdelivery.ContentDeliveryServlet</servlet-class>


                This is the description of my J2EE component
                <display-name>This is the display name of my J2EE component</display-name>
                <servlet-name>CmpFileWriterServlet</servlet-name>
                <servlet-class>eu.digitania.dls.frontend.servlets.CmpFileWriterServlet</servlet-class>



                <servlet-mapping>
                <servlet-name>DisplayImageServlet</servlet-name>
                <url-pattern>/servlet/DisplayImageServlet</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                <servlet-name>InitializerServlet</servlet-name>
                <url-pattern>/servlet/InitializerServlet</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                <servlet-name>EditServiceServlet</servlet-name>
                <url-pattern>/servlet/EditServiceServlet</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                <servlet-name>Faces Servlet</servlet-name>
                <url-pattern>*.faces</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                <servlet-name>ViewerServlet</servlet-name>
                <url-pattern>/frameset</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                <servlet-name>EngineServlet</servlet-name>
                <url-pattern>/document</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                <servlet-name>EngineServlet</servlet-name>
                <url-pattern>/download</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                <servlet-name>EngineServlet</servlet-name>
                <url-pattern>/parameter</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                <servlet-name>EngineServlet</servlet-name>
                <url-pattern>/extract</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                <servlet-name>ViewerServlet</servlet-name>
                <url-pattern>/run</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                <servlet-name>EngineServlet</servlet-name>
                <url-pattern>/preview</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                <servlet-name>EngineServlet</servlet-name>
                <url-pattern>/output</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                <servlet-name>InvoiceServlet</servlet-name>
                <url-pattern>/servlet/InvoiceServlet</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                <servlet-name>DownloadInvoiceServlet</servlet-name>
                <url-pattern>/servlet/DownloadInvoiceServlet</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                <servlet-name>DownloadMediaFileServlet</servlet-name>
                <url-pattern>/servlet/DownloadMediaFileServlet.servlet</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                <servlet-name>ContentDeliveryServlet</servlet-name>
                <url-pattern>/servlet/ContentDeliveryServlet</url-pattern>
                </servlet-mapping>
                <servlet-mapping>
                <servlet-name>CmpFileWriterServlet</servlet-name>
                <url-pattern>/servlet/CmpFileWriterServlet</url-pattern>
                </servlet-mapping>
                <welcome-file-list>
                <welcome-file>index.jsp</welcome-file>
                </welcome-file-list>
                <error-page>
                <exception-type>java.lang.Exception</exception-type>
                /main/error_page.faces
                </error-page>
                <jsp-config>

                <taglib-uri>/birt.tld</taglib-uri>
                <taglib-location>/WEB-INF/report-engine/tlds/birt.tld</taglib-location>

                </jsp-config>
                <login-config>
                <auth-method>BASIC</auth-method>
                </login-config>



                </web-app>

                • 5. Re: Problem with rich:fileUpload
                  nbelaevski
                  • 6. Re: Problem with rich:fileUpload

                    nbelaevski,

                    I am sorry. The subject of the topic is same to another topic posted by me but the problem is something different. Please help me in this problem.

                    Regards,
                    Kashif

                    • 7. Re: Problem with rich:fileUpload
                      nbelaevski

                      Kashif,

                      Please refer to documentation - RF user guide, FAQ and Servlet spec. MyFaces extension filter configuration is described there.

                      • 8. Re: Problem with rich:fileUpload

                        I reffered to that but they have given a very generic example. I used that but still its not working for me.


                        Regards,

                        Kashif