Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 399508

Summary: [RWT Launcher] Servlet path is not respected
Product: [RT] RAP Reporter: Ivan Furnadjiev <ivan>
Component: ToolsAssignee: Project Inbox <rap-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: ruediger.herrmann
Version: 1.5   
Target Milestone: 2.1 M2   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description Ivan Furnadjiev CLA 2013-01-30 11:03:18 EST
Any servlet path specified in the RWT Launcher different from "/rap" leads to exception:
java.lang.IllegalArgumentException: Entry point not found: /controls
	at org.eclipse.rap.rwt.internal.lifecycle.EntryPointManager.getEntryPointRegistration(EntryPointManager.java:70)
	at org.eclipse.rap.rwt.internal.service.StartupPage.getCurrentEntryPointProperties(StartupPage.java:151)
	at org.eclipse.rap.rwt.internal.service.StartupPage.writeEntryPointProperty(StartupPage.java:160)
	at org.eclipse.rap.rwt.internal.service.StartupPage.writeTitle(StartupPage.java:81)
	at org.eclipse.rap.rwt.internal.service.StartupPage$StartupPageValueProvider.writeVariable(StartupPage.java:173)
	at org.eclipse.rap.rwt.internal.service.StartupPageTemplate.writePage(StartupPageTemplate.java:52)
	at org.eclipse.rap.rwt.internal.service.StartupPage.send(StartupPage.java:65)
	at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.handleGetRequest(LifeCycleServiceHandler.java:86)
	at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.synchronizedService(LifeCycleServiceHandler.java:76)
	at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.service(LifeCycleServiceHandler.java:62)
	at org.eclipse.rap.rwt.engine.RWTServlet.handleValidRequest(RWTServlet.java:107)
	at org.eclipse.rap.rwt.engine.RWTServlet.handleRequest(RWTServlet.java:94)
	at org.eclipse.rap.rwt.engine.RWTServlet.doGet(RWTServlet.java:80)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:486)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
	at org.eclipse.jetty.server.Server.handle(Server.java:350)
	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
	at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:47)
	at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)
	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
	at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:66)
	at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:254)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
	at java.lang.Thread.run(Thread.java:662)
	The RWTServletContextListener#EntryPointRunnerConfiguration has a hard coded "/rap" path.
Comment 1 Ivan Furnadjiev CLA 2013-02-22 06:52:03 EST
The "/rap" servlet name is hard codded in RWTServletContextListener#EntryPointRunnerConfiguration class.
Comment 2 Ivan Furnadjiev CLA 2013-04-16 08:54:42 EDT
Even the parameters "org.eclipse.rwt.entryPoints" and "rwtServlet" are considered obsolete, they are still used by the RWT Launcher. Fixed in master with commit 001e372437a41ae1b90925380a3c8e042935ac1f.