I try to get a simple Vaadin 8 application running on Karaf 4.3.1. However it is not working. Vaadin can not load it's bootstrap Javascript File. At the very beginning the Vaadin application makes an http request to http://localhost:8181/VAADIN/vaadinBootstrap.js Karaf answers with an error code 404 (not found).
The Vaadin OSGI integration registers it's static resources with http-whiteboard. The http:list shows that the patterns are known: karaf@root()> http:list ID | Servlet | Servlet-Name | State | Alias | Url ----+---------------------+-------------------------------------------------+-------------+-----------------------------------------------------+------------------------------------------------------ 176 | CXFNonSpringServlet | cxf-osgi-transport-servlet | Deployed | /cxf | [/cxf/*] 238 | ResourceServlet | txt | Deployed | /VAADIN/test.txt | [/VAADIN/test.txt/*] 238 | ResourceServlet | /VAADIN/themes/mytheme/*:/VAADIN/themes/mytheme | Deployed | /VAADIN/themes/mytheme/* | [/VAADIN/themes/mytheme/*] 238 | ResourceServlet | /VAADIN/themes/valo/*:/VAADIN/themes/valo | Deployed | /VAADIN/themes/valo/* | [/VAADIN/themes/valo/*] 238 | ResourceServlet | gz | Deployed | /VAADIN/vaadinBootstrap.js.gz | [/VAADIN/vaadinBootstrap.js.gz/*] 238 | ResourceServlet | js | Deployed | /VAADIN/vaadinBootstrap.js | [/VAADIN/vaadinBootstrap.js/*] 238 | ResourceServlet | gz | Deployed | /VAADIN/vaadinPush.debug.js.gz | [/VAADIN/vaadinPush.debug.js.gz/*] 238 | ResourceServlet | js | Deployed | /VAADIN/vaadinPush.debug.js | [/VAADIN/vaadinPush.debug.js/*] 238 | ResourceServlet | gz | Deployed | /VAADIN/vaadinPush.js.gz | [/VAADIN/vaadinPush.js.gz/*] 238 | ResourceServlet | js | Deployed | /VAADIN/vaadinPush.js | [/VAADIN/vaadinPush.js/*] 238 | ResourceServlet | DefaultWidgetSet | Deployed | /VAADIN/widgetsets/com.vaadin.DefaultWidgetSet/* | [/VAADIN/widgetsets/com.vaadin.DefaultWidgetSet/*] 238 | ResourceServlet | Vaadin7WidgetSet | Deployed | /VAADIN/widgetsets/com.vaadin.v7.Vaadin7WidgetSet/* | [/VAADIN/widgetsets/com.vaadin.v7.Vaadin7WidgetSet/*] I debugged the http request to /VAADIN/vaadinBootstrap.js in the ResourceServlet from pax-web-jetty and found out that the ResourceServlet has the wrong HttpContext. It is using the one from CXF and not the from the Vaadin bundle. karaf@root()> la -u | grep 176 176 | Active | 40 | 3.4.3 | mvn:org.apache.cxf/cxf-rt-transports-http/3.4.3 When the bundle with ID 176 ( cxf-rt-transports-http) is stopped then the resource /VAADIN/vaadinBoostrap.js is still not found, but I do no longer reach the breakpoint in the pax-web-jetty ResourceServlet The OSGI service that should bring the /VAADIN/boostrap.js resource has the following properties: [com.vaadin.osgi.resources.OsgiVaadinResource] ---------------------------------------------- osgi.http.whiteboard.context.select = (osgi.http.whiteboard.context.name =com.vaadin) osgi.http.whiteboard.resource.pattern = /VAADIN/vaadinBootstrap.js osgi.http.whiteboard.resource.prefix = /VAADIN/vaadinBootstrap.js service.bundleid = 237 service.id = 251 service.scope = singleton Provided by : Vaadin Server (237) The ServletContext with name com.vaadin has the following properties: [javax.servlet.ServletContext] ------------------------------ osgi.web.contextname = com.vaadin osgi.web.contextpath = /vaadin-8.12.2 osgi.web.symbolicname = com.vaadin.shared osgi.web.version = 8.12.2 service.bundleid = 238 service.id = 242 service.scope = singleton Provided by : Vaadin Shared (238) Used by: OPS4J Pax Web - Runtime (100) I have the following http-white-board feature installed: karaf@root()> feature:list | grep -i white pax-web-http-whiteboard | 7.3.13 | | Uninstalled | standard-4.3.1 | Pax Web OSGi HTTP Whiteboard support http-whiteboard | 7.3.13 | | Uninstalled | standard-4.3.1 | Transition feature for backward compatibility pax-http-whiteboard | 7.3.13 | | Started | org.ops4j.pax.web-7.3.13 | Provide HTTP Whiteboard pattern support I tried also the following http requests: http://localhost:8181/vaadin-8.12.2/VAADIN/vaadinBootstrap.js http://localhost:8181/vaadin-8.12.2/vaadinBootstrap.js http://localhost:8181/VAADIN/vaadinBootstrap.js All end up with an 404. What is wrong in my setup? Regards Richard
