Requested resource [/VAADIN/HEARTBEAT/] not found from filesystem or throug

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!