Cannot Run WAR From Root Context
--------------------------------

                 Key: KARAF-577
                 URL: https://issues.apache.org/jira/browse/KARAF-577
             Project: Karaf
          Issue Type: Bug
    Affects Versions: 2.2.0
         Environment: Tested on Ubuntu 10.10
            Reporter: Adam Bird


Web applications do not appear to run in the root application context in Karaf 
2.2.0 (this is not an issue in Karaf 2.1.4).  The problem is easily duplicated 
using the Tomcat sample WAR, as follows.

1. Run the following command from Karaf:

osgi:install -s 
webbundle:http://tomcat.apache.org/tomcat-5.5-doc/appdev/sample/sample.war?Bundle-SymbolicName=tomcat-sample&Webapp-Context=/anything

2. Access the app from your web browser 
(http://localhost:8181/anything/index.html)
3. Uninstall the sample bundle
4. Reinstall the bundle using the root context path with the following command:

osgi:install -s 
webbundle:http://tomcat.apache.org/tomcat-5.5-doc/appdev/sample/sample.war?Bundle-SymbolicName=tomcat-sample&Webapp-Context=/

5. Attempt to access the app from your web browser 
(http://localhost:8181/index.html)
6. Note the 404 error.

Looking at the logs, it appears that when a web app is in the root application 
context, it prepends a "/default/" to any request.  For example, when trying to 
access /index.html it looks for /default/index.html, fails to find the page, 
and returns a not found error (see the log output below for more details).

----------------------------------------------------------------------

LOG OUTPUT

15:14:46,270 | DEBUG | 30 - /index.html | log                              | 
.eclipse.jetty.util.log.Slf4jLog   70 | 43 - org.eclipse.jetty.util - 
7.2.2.v20101205 | REQUEST /index.html on 
org.eclipse.jetty.server.nio.SelectChannelConnector$3@693a1324
15:14:46,270 | DEBUG | 30 - /index.html | ServerModel                      | 
eb.service.spi.model.ServerModel  268 | 52 - org.ops4j.pax.web.pax-web-spi - 
1.0.1 | Matching [/index.html]...
15:14:46,270 | DEBUG | 30 - /index.html | ServerModel                      | 
eb.service.spi.model.ServerModel  292 | 52 - org.ops4j.pax.web.pax-web-spi - 
1.0.1 | Path [/index.html] matched to 
{pattern=/.*,model=ResourceModel{id=org.ops4j.pax.web.service.spi.model.ResourceModel-22,name=default,urlPatterns=[/],alias=/,servlet=ResourceServlet{context=/,alias=/,name=default},initParams={},context=ContextModel{id=org.ops4j.pax.web.service.spi.model.ContextModel-21,name=,httpContext=org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext@3942ef25,contextParams={webapp.context=}}}}
15:14:46,270 | DEBUG | 30 - /index.html | log                              | 
.eclipse.jetty.util.log.Slf4jLog   70 | 43 - org.eclipse.jetty.util - 
7.2.2.v20101205 | Got Session ID 17kb0ch4hv02w1ennfxju5owpw from cookie
15:14:46,270 | DEBUG | 30 - /index.html | log                              | 
.eclipse.jetty.util.log.Slf4jLog   70 | 43 - org.eclipse.jetty.util - 
7.2.2.v20101205 | 
sessionManager=org.eclipse.jetty.server.session.HashSessionManager@7d8aecf1
15:14:46,271 | DEBUG | 30 - /index.html | log                              | 
.eclipse.jetty.util.log.Slf4jLog   70 | 43 - org.eclipse.jetty.util - 
7.2.2.v20101205 | session=null
15:14:46,271 | DEBUG | 30 - /index.html | log                              | 
.eclipse.jetty.util.log.Slf4jLog   70 | 43 - org.eclipse.jetty.util - 
7.2.2.v20101205 | servlet=default
15:14:46,271 | DEBUG | 30 - /index.html | log                              | 
.eclipse.jetty.util.log.Slf4jLog   70 | 43 - org.eclipse.jetty.util - 
7.2.2.v20101205 | servlet holder=
15:14:46,271 | DEBUG | 30 - /index.html | HttpServiceContext               | 
etty.internal.HttpServiceContext  115 | 54 - org.ops4j.pax.web.pax-web-jetty - 
1.0.1 | Handling request for [/index.html] using http context 
[org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext@3942ef25]
15:14:46,271 | DEBUG | 30 - /index.html | log                              | 
.eclipse.jetty.util.log.Slf4jLog   70 | 43 - org.eclipse.jetty.util - 
7.2.2.v20101205 | chain=
15:14:46,272 | DEBUG | 30 - /index.html | WebAppWebContainerContext        | 
r.war.internal.WebAppHttpContext  113 | 64 - 
org.ops4j.pax.web.pax-web-extender-war - 1.0.1 | Searching bundle 
[tomcat-sample [97]] for resource [default/index.html], normalized to 
[default/index.html]
15:14:46,272 | DEBUG | 30 - /index.html | WebAppWebContainerContext        | 
r.war.internal.WebAppHttpContext  140 | 64 - 
org.ops4j.pax.web.pax-web-extender-war - 1.0.1 | Resource not found 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to