I can’t get it to work with embedded UI on Vaadin 7.0.0.
I have following static resources:
- /designer.html - page that embeds vaadin
- /VAADIN/themes
And Vaadin servlet mapped to “/VAADIN/*” (for resources) and “/vaadinServlet” (for actual service, just to make errors clearer).
I also have other servlets mapped.
Per documentation, I initialize application with:
- “vaadinDir”: “./VAADIN/”
- “browserDetailsUrl”: “./vaadinServlet”
This results in application requesting /designer.html/HEARTBEAT which is wrong since HEARTBEAT must be handled by servlet and according to docs servlet is set by browserDetailsUrl.
In a forum thread titled “Vaadin 7: Embedded Application” (which I can’t access in any way other than google results cache), I have found that setting undocumented “serviceUrl” parameter to servlet path would help.
It does generate correct url now (“/vaadinServlet/HEARTBEAT”) but VaadinServlet does not recognize this as a heartbeat. ServletPortletHelper.isHeartbeatRequest() checks whether request.getPathInfo() starts with “/HEARTBEAT” but pathinfo contains full path with servlet name in front!