Hi,

It looks like a regression in Vaadin 8.6.0.

I will try to take a look next week.

Regards
JB

> Le 29 avr. 2021 à 22:03, Васил Зорев <[email protected]> a écrit :
> 
> Does not seem that it was intentional, newer Vaadin 8 release notes say there 
> were "improvements in OSGi support".
> 
> In my tests on Karaf 4.3.2-SNAPSHOT the last working version is 8.5.2, it 
> broke with 8.6.0. Possibly with 
> https://github.com/vaadin/framework/commit/7e89b5e3348be487110bd8a5c60336ff363cf9d6
>  
> <https://github.com/vaadin/framework/commit/7e89b5e3348be487110bd8a5c60336ff363cf9d6>
>  ,
> although not sure about it. I would suggest to ask on the Vaadin forums as 
> well, just in case.
> 
> На чт, 29.04.2021 г. в 14:30 ч. Richard Hierlmeier 
> <[email protected] <mailto:[email protected]>> написа:
> I have to port a Vaadin 7 applikation to Vaadin 8, so I planned to used the 
> newest one (8.12.2 or 8.13.0).
> 
> I found a workaround for the problem.
> When the Vaadin Servlet that hosts the UI has "/VAADIN/*" in the 
> URL-Patterns, then the Servlet is called when static resource files from 
> /VAADIN are requested.
> You can overwride then in the VaadinServlet the findResourceURL method and 
> you can search for all OsgiVaadinResource services an ask them for the 
> resources.
> 
> Can it be that Vaadin dropped the OSGI support for Vaadin 8.
> 
> Regards
> 
>   Richard
> 
> 
> 
> 
> 
> 
> 
> 
> Am Mi., 28. Apr. 2021 um 23:39 Uhr schrieb Васил Зорев 
> <[email protected] <mailto:[email protected]>>:
> What Vaadin version do you depend on ? I deployed locally the app by Peter 
> Lehto - https://github.com/peterl1084/vaadin-karaf 
> <https://github.com/peterl1084/vaadin-karaf> and observed something kind of 
> strange.
> 
> Karaf version is 4.3.2-SNAPSHOT (from 2-3 weeks ago).
> 
> On Vaadin version 8.3.0, going to http://localhost:8181/myapp 
> <http://localhost:8181/myapp> showed the expected view. (however 
> vaadin-osgi-integration was 8.13.0 in the pom at that time, by mistake..)
> 
> I then changed to Vaadin 8.13.0 and got the same error as you did:
> Failed to load resource: the server responded with a status of 404 (Not 
> Found) http://localhost:8181/vaadin-8.13.0/VAADIN/vaadinBootstrap.js?v=8.13.0 
> <http://localhost:8181/vaadin-8.13.0/VAADIN/vaadinBootstrap.js?v=8.13.0>
> myapp:21 Uncaught ReferenceError: vaadin is not defined
>     at myapp:21
> vaadin-8.13.0/VAADIN/themes/valo/favicon.ico:1 Failed to load resource: the 
> server responded with a status of 404 (Not Found) 
> http://localhost:8181/vaadin-8.13.0/VAADIN/themes/valo/favicon.ico 
> <http://localhost:8181/vaadin-8.13.0/VAADIN/themes/valo/favicon.ico>
> 
> Funny enough, changing back to 8.3.0 got it running again... I leave it for 
> now, but will try to figure something out these days.
> 
> Regards,
> Vassil
> 
> На ср, 28.04.2021 г. в 20:03 ч. Васил Зорев <[email protected] 
> <mailto:[email protected]>> написа:
> Hi Richard,
> 
> I cannot give an answer yet as I have no idea yet, but we are currently 
> running a Vaadin 7 app on Karaf 4.3.1 in my work environment so I would be 
> very interested to have a look into your issue.
> 
> A few questions. Are you using "stock" Karaf 4.3.1 or you forked it and built 
> your own? Can you please provide a sample Vaadin 8 app (the minimal possible 
> version) that reproduces the error you get that I can deploy locally? How do 
> you deploy the app to Karaf? Also if needed please provide a sample web 
> descriptor file (if you don't use annotations).
> 
> Regards,
> Vassil
> 
> На ср, 28.04.2021 г. в 10:50 ч. Richard Hierlmeier 
> <[email protected] <mailto:[email protected]>> написа:
> 
> 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 
> <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 
> <http://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 <http://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 <http://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/VAADIN/vaadinBootstrap.js>
> http://localhost:8181/vaadin-8.12.2/vaadinBootstrap.js 
> <http://localhost:8181/vaadin-8.12.2/vaadinBootstrap.js>  
> http://localhost:8181/VAADIN/vaadinBootstrap.js 
> <http://localhost:8181/VAADIN/vaadinBootstrap.js>  
> 
> All end up with an 404.
> 
> What is wrong in my setup?
> 
> Regards 
> 
>   Richard
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 

Reply via email to