Actually what I have done is manually doing the tunneling in the ServerServlet, i extended the ServerServlet, overridden the service method of the servlet and created a Decoration of HttpServletRequest (using decoration pattern) i created a class that implements the HttpServletRequest, this class delegates to the original ServletRequest , but overrides the request.getMethod() by getting the method in the query string which is in the body (using request.getParameter()
however i have been searching for a more ellegant solution ... Will try your solutions. Thanks for your answer... Shoukry ----- Original Message ----- From: "Mitch Stewart" <[EMAIL PROTECTED]> To: discuss@restlet.tigris.org Sent: Tuesday, July 22, 2008 5:54:08 PM (GMT+0200) Auto-Detected Subject: RE: Re: Using Tunneling Service and tunneling filter Shoukry, If you are building with OpenLaszlo, then that is correct, it will only send the query string as values in the request body. There are two solutions: Either set a request header and build your own HTTP Header Tunnel Filter and look for a specific method. You can look at the base Tunnel class to see how to actually reset the method. or Put a value in the request body (query string) that you inspect and set the method on the request. However, this means that you will have to parse the data in your filter. Hope that helps, Mitch From: shoukri kattan [mailto:[EMAIL PROTECTED] Sent: Tuesday, July 22, 2008 9:08 AM To: discuss@restlet.tigris.org Subject: Re: Using Tunneling Service and tunneling filter Hi Thierry I have discovered why tunneling does not work for me. I am using a client that does not support passing a query string with POSTS , instead every parameter i specify in the query string is sent in the request body. I dont think the restlet supports that right ? Thanks Shoukry ----- Original Message ----- From: "Thierry Boileau" <[EMAIL PROTECTED]> To: discuss@restlet.tigris.org Sent: Tuesday, July 22, 2008 3:29:17 PM (GMT+0200) Auto-Detected Subject: Re: Using Tunneling Service and tunneling filter Hello shoukri kattan, >trying to send method=PUT doesnt invoke handlePut but handleGet The tunnelFilter relies only on query parameters not on the entity sent via the POST request. That is to say, the requested resource URI should be more or less: http://myserver/path/to/my/resource?method=put This point is written in the javadocs of the TunnelService class, but should be clearly precised. best regards, Thierry Boileau [1] http://www.restlet.org/documentation/1.0/faq#19 [2] http://www.restlet.org/documentation/1.0/api/org/restlet/service/TunnelService.html > > Hi, > > I have been trying to get the HTTP method tunneling in restlet 1.0 > running but i havent been able to do this. The Restlet is configured > as follows : > > Restlet running from Tomcat Servlet container : > > a Server Servlet mapped to /rest/* > > An Application defined in web.xml which servers as the root application. > > Create root method of the application creates a router and attaches a > number of resources to it. > > trying to send method=PUT doesnt invoke handlePut but handleGet > > Trying to call setTunnelService(new TunnelService(true,true,true)); in > the application constructor after calling super constructor has no > effect . > > What am i doing wrong, and how to get tunneling working ? > > > Thank you very much > > Shoukry Kattan > -- Shoukry Kattan Server Team, R&D Engineer G.ho.st No walls