[seam-issues] [JBoss JIRA] (JBSEAM-4146) "no file extension in servlet path" exception whenever a servlet throws an exception

Marek Novotny (Issue Comment Edited) (JIRA) jira-events at lists.jboss.org
Thu Nov 3 09:19:45 EDT 2011


    [ https://issues.jboss.org/browse/JBSEAM-4146?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12639677#comment-12639677 ] 

Marek Novotny edited comment on JBSEAM-4146 at 11/3/11 9:19 AM:
----------------------------------------------------------------

I have looked deeply into fixing this and the solution is not fully clean, but you can handle your old applications.

First this is not bug for Seam, because all what you want to handle by Seam should be mapped to {noformat}*.<suffix>{noformat} or with help of rewrite-filter to something like {noformat}<web:rewrite-filter view-mapping="/servlet/*" />{noformat}. Anyway I lower the IllegalArgumentException and try to redirect to viewId if not found correct suffix.

You have to only map correctly your error page in page.xml to the recognized url-pattern for FacesServlet. In the attached example testcase you have to map to error.seam instead of error.xhtml. P.S. actually the attached example has got in page.xml message.xhtml, but that is mistake. 

If it is not what you want, I will cancel the fix.
                
      was (Author: manaRH):
    I have looked deeply into fixing this and the solution is not fully clean, but you can handle your old applications.

First this is not bug for Seam, because all what you want to handle by Seam should be mapped to *.<suffix> or with help of rewrite-filter to something like <web:rewrite-filter view-mapping="/servlet/*" />. Anyway I lower the IllegalArgumentException and try to redirect the directly viewId if not found correct suffix.

You have to only map correctly your error page in page.xml to the recognized url-pattern for FacesServlet. In the attached example testcase you have to map to error.seam instead of error.xhtml. P.S. actually the attached example has got in page.xml message.xhtml, but that is mistake. 

If it is not what you want, I will cancel the fix.
                  
> "no file extension in servlet path" exception whenever a servlet throws an exception
> ------------------------------------------------------------------------------------
>
>                 Key: JBSEAM-4146
>                 URL: https://issues.jboss.org/browse/JBSEAM-4146
>             Project: Seam 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.1.1.GA
>         Environment: Java 6, Tomcat 6
>            Reporter: Matthew Lieder
>            Assignee: Marek Novotny
>              Labels: testcase
>             Fix For: 2.3.0.BETA1
>
>         Attachments: SeamTestcase1.zip
>
>
> Pretty easy to reproduce: call a servlet from a Seam webapp that throws an exception, which will result in a Tomcat HTTP 500 error page that ,instead of displaying the servlet's exception, displays a "no file extension in servlet path" exception.
> See the attached testcase.
> I have yet to find a good workaround; only way seems to be to hack Seam's codebase myself. The problem definitely seems to be in org.jboss.seam.mock.MockViewHandler.getActionURL(...), as indicated by JBSEAM-2921.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the seam-issues mailing list