could you please open a issue for that. I'll probably take a look at it then. Sounds like a bug of pax-web.
thanks, Achim 2011/4/19 yourang <[email protected]>: > I have been struggling to get an web application to run in the root > application context in Karaf 2.2.0 (it works fine in Karaf 2.1.4). I have > been able to isolate the issue to something easily duplicate using the > Tomcat sample WAR. > > 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 in /default/index.html, fails to > find the page, and returns a not found error (see the log output below for > more details). > > Does anyone know how to resolve this issue? > > ---------------------------------------------------------------------- > > 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 > 15:14:46,273 | DEBUG | 30 - /index.html | log > > -- > View this message in context: > http://karaf.922171.n3.nabble.com/Cannot-Run-WAR-From-Root-Context-in-Karaf-2-2-0-tp2836600p2836600.html > Sent from the Karaf - Dev mailing list archive at Nabble.com. >
