|
|
|
Sopasakis Pantelis
|
Dear List,
Hi for the first time, cause I'm a new member. I've developed a web service based on Restlet 1.1.5 which runs as a standalone application using Grizzly. I deciided to migrate to Restlet version 2.0. m3 and after some refactoring and changes in my code, I managed to make the whole thing work just fine! In the server class, I attach both an application and some static html files including a javadoc directory. This is the server class: ******************************************************************* package org.opentox.server; import java.util.logging.Level; import java.util.logging.Logger; import org.opentox.Applications.OpenToxApplication; import org.opentox.Resources.AbstractResource; import org.restlet.Application; import org.restlet.Component; import org.restlet.data.LocalReference; import org.restlet.data.Protocol; import org.restlet.resource.Directory; import org.restlet.routing.VirtualHost; /** * * @author chung */ public class Server { public static void main(String[] args){ // Create a component Component component = new Component(); component.getServers().add(Protocol.HTTP, 3000); component.getClients().add(Protocol.FILE); LocalReference javadoc = LocalReference.createFileReference( AbstractResource.javadocDir); LocalReference home = LocalReference.createFileReference( AbstractResource.HTMLDir); Directory javadocDirectory = new Directory(component.getContext().createChildContext(), javadoc); Directory homeDirectory = new Directory(component.getContext().createChildContext(), home); Application application = new OpenToxApplication(); VirtualHost host = new VirtualHost(); host.attach("/OpenToxServices",application); host.attach("",homeDirectory); host.attach("/OpenToxServices/javadoc", javadocDirectory); component.setDefaultHost(host); try { component.start(); } catch (Exception ex) { Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex); } } } ******************************************************************** The problem is that when I reload any of the resources that corresponds to a static HTML file (e.g. the javadoc), I get a status code 405 (Method Not allowed). If I reload the page again, I get the HTML but without the CSS. I reload it again to get the correct HTML representation but without the Images contained in it. Another reload gives once again a status 405, then HTML without css and finally the correct HTML. This happens each time I press F5 on mozilla BUT NOT if I request the resource again, i.e. if I retype the URL. Note that this happens only with the static html files. Other resources that are based on java classes (MyResource extends ServerResource) don't have such problems! Having no idea how to solve that, I just separated the static files from the service. I set up an apache server on another port (80) to deploy the static html files and the services run on 3000. However I think other people are experiencing the same problem, because I had the same problem on 2 different machines. I would appreciate any suggestions or ideas on that. You can find the source code of the application at http://github.com/sopasakis/yaqp Thank you in advance, Sopasakis Pantelis ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2410202 |
||||||||||||||||
|
Rob Heittman
|
Did you try it to see if you get the same behavior using a connector other than Grizzly? (e.g. Jetty or the included HTTP connector) On refresh, most Mozilla based browsers will try a conditional GET first to see if the resource has changed, then if the server indicates that it has changed, will repeat with the full GET. The weird behavior you describe is also found when running under Tomcat 5 if you don't send a large enough entity from Restlet ... where that first conditional GET will fail and cause the same symptoms in the browser. So I'm wondering if it's connector-specific here, too.
On Thu, Oct 22, 2009 at 8:38 AM, Sopasakis Pantelis <[hidden email]> wrote: Dear List, |
|
Sopasakis Pantelis
|
Hi Rob,
Thank you for your prompt reply. I tried both Jetty and the Internal connector but there was no difference. The problem appeared as soon as I decided to migrate to restlet 2 m3 from restlet 1.1.5 and 1.1.6 where the same code did not produce any errors. However, it might be just a matter of including the appropriate jars in the classpath. Which are the necessary ones? I tried to include all the jars in the lib/ directory of restlet 2.0 m3 but I received some error messages... Best Regards, Sopasakis Pantelis On Thu, 2009-10-22 at 09:27 -0400, Rob Heittman wrote: > Did you try it to see if you get the same behavior using a connector > other than Grizzly? (e.g. Jetty or the included HTTP connector) On > refresh, most Mozilla based browsers will try a conditional GET first > to see if the resource has changed, then if the server indicates that > it has changed, will repeat with the full GET. The weird behavior you > describe is also found when running under Tomcat 5 if you don't send a > large enough entity from Restlet ... where that first conditional GET > will fail and cause the same symptoms in the browser. So I'm > wondering if it's connector-specific here, too. > > On Thu, Oct 22, 2009 at 8:38 AM, Sopasakis Pantelis > <[hidden email]> wrote: > Dear List, > Hi for the first time, cause I'm a new member. I've developed > a web > service based on Restlet 1.1.5 which runs as a standalone > application > using Grizzly. I deciided to migrate to Restlet version 2.0. > m3 and > after some refactoring and changes in my code, I managed to > make the > whole thing work just fine! > > In the server class, I attach both an application and some > static html > files including a javadoc directory. This is the server class: > > > ******************************************************************* > > package org.opentox.server; > > import java.util.logging.Level; > import java.util.logging.Logger; > import org.opentox.Applications.OpenToxApplication; > import org.opentox.Resources.AbstractResource; > import org.restlet.Application; > import org.restlet.Component; > import org.restlet.data.LocalReference; > import org.restlet.data.Protocol; > import org.restlet.resource.Directory; > import org.restlet.routing.VirtualHost; > > /** > * > * @author chung > */ > public class Server { > > public static void main(String[] args){ > // Create a component > Component component = new Component(); > > component.getServers().add(Protocol.HTTP, 3000); > > component.getClients().add(Protocol.FILE); > > > LocalReference javadoc = > LocalReference.createFileReference( > AbstractResource.javadocDir); > > LocalReference home = > LocalReference.createFileReference( > AbstractResource.HTMLDir); > > > Directory javadocDirectory = new > Directory(component.getContext().createChildContext(), > javadoc); > Directory homeDirectory = new > Directory(component.getContext().createChildContext(), home); > > > Application application = new OpenToxApplication(); > > VirtualHost host = new VirtualHost(); > > host.attach("/OpenToxServices",application); > host.attach("",homeDirectory); > host.attach("/OpenToxServices/javadoc", > javadocDirectory); > > > > component.setDefaultHost(host); > try { > component.start(); > } catch (Exception ex) { > > Logger.getLogger(Server.class.getName()).log(Level.SEVERE, > null, ex); > } > > } > > } > ******************************************************************** > > The problem is that when I reload any of the resources that > corresponds > to a static HTML file (e.g. the javadoc), I get a status code > 405 > (Method Not allowed). If I reload the page again, I get the > HTML but > without the CSS. I reload it again to get the correct HTML > representation but without the Images contained in it. Another > reload > gives once again a status 405, then HTML without css and > finally the > correct HTML. This happens each time I press F5 on mozilla BUT > NOT if I > request the resource again, i.e. if I retype the URL. Note > that this > happens only with the static html files. Other resources that > are based > on java classes (MyResource extends ServerResource) don't have > such > problems! > > Having no idea how to solve that, I just separated the static > files from > the service. I set up an apache server on another port (80) to > deploy > the static html files and the services run on 3000. However I > think > other people are experiencing the same problem, because I had > the same > problem on 2 different machines. > > I would appreciate any suggestions or ideas on that. > > You can find the source code of the application at > http://github.com/sopasakis/yaqp > > Thank you in advance, > Sopasakis Pantelis > > ------------------------------------------------------ > http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2410202 > ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2410601 |
||||||||||||||||
|
jlouvel
|
Kalimera Sopasakis,
This is due to a bug in ServerResource in the conditional processing. Good news: it was fixed in recent snapshots: http://www.restlet.org/downloads/unstable Could you try again and let us know? Best regards, Jerome Louvel -- Restlet ~ Founder and Lead developer ~ http://www.restlet.org Noelios Technologies ~ Co-founder ~ http://www.noelios.com -----Message d'origine----- De : Sopasakis Pantelis [mailto:[hidden email]] Envoyé : vendredi 23 octobre 2009 12:23 À : [hidden email] Objet : Re: Problem with Reloading Hi Rob, Thank you for your prompt reply. I tried both Jetty and the Internal connector but there was no difference. The problem appeared as soon as I decided to migrate to restlet 2 m3 from restlet 1.1.5 and 1.1.6 where the same code did not produce any errors. However, it might be just a matter of including the appropriate jars in the classpath. Which are the necessary ones? I tried to include all the jars in the lib/ directory of restlet 2.0 m3 but I received some error messages... Best Regards, Sopasakis Pantelis On Thu, 2009-10-22 at 09:27 -0400, Rob Heittman wrote: > Did you try it to see if you get the same behavior using a connector > other than Grizzly? (e.g. Jetty or the included HTTP connector) On > refresh, most Mozilla based browsers will try a conditional GET first > to see if the resource has changed, then if the server indicates that > it has changed, will repeat with the full GET. The weird behavior you > describe is also found when running under Tomcat 5 if you don't send a > large enough entity from Restlet ... where that first conditional GET > will fail and cause the same symptoms in the browser. So I'm > wondering if it's connector-specific here, too. > > On Thu, Oct 22, 2009 at 8:38 AM, Sopasakis Pantelis > <[hidden email]> wrote: > Dear List, > Hi for the first time, cause I'm a new member. I've developed > a web > service based on Restlet 1.1.5 which runs as a standalone > application > using Grizzly. I deciided to migrate to Restlet version 2.0. > m3 and > after some refactoring and changes in my code, I managed to > make the > whole thing work just fine! > > In the server class, I attach both an application and some > static html > files including a javadoc directory. This is the server class: > > > > > package org.opentox.server; > > import java.util.logging.Level; > import java.util.logging.Logger; > import org.opentox.Applications.OpenToxApplication; > import org.opentox.Resources.AbstractResource; > import org.restlet.Application; > import org.restlet.Component; > import org.restlet.data.LocalReference; > import org.restlet.data.Protocol; > import org.restlet.resource.Directory; > import org.restlet.routing.VirtualHost; > > /** > * > * @author chung > */ > public class Server { > > public static void main(String[] args){ > // Create a component > Component component = new Component(); > > component.getServers().add(Protocol.HTTP, 3000); > > component.getClients().add(Protocol.FILE); > > > LocalReference javadoc = > LocalReference.createFileReference( > AbstractResource.javadocDir); > > LocalReference home = > LocalReference.createFileReference( > AbstractResource.HTMLDir); > > > Directory javadocDirectory = new > Directory(component.getContext().createChildContext(), > javadoc); > Directory homeDirectory = new > Directory(component.getContext().createChildContext(), home); > > > Application application = new OpenToxApplication(); > > VirtualHost host = new VirtualHost(); > > host.attach("/OpenToxServices",application); > host.attach("",homeDirectory); > host.attach("/OpenToxServices/javadoc", > javadocDirectory); > > > > component.setDefaultHost(host); > try { > component.start(); > } catch (Exception ex) { > > Logger.getLogger(Server.class.getName()).log(Level.SEVERE, > null, ex); > } > > } > > } > > > The problem is that when I reload any of the resources that > corresponds > to a static HTML file (e.g. the javadoc), I get a status code > 405 > (Method Not allowed). If I reload the page again, I get the > HTML but > without the CSS. I reload it again to get the correct HTML > representation but without the Images contained in it. Another > reload > gives once again a status 405, then HTML without css and > finally the > correct HTML. This happens each time I press F5 on mozilla BUT > NOT if I > request the resource again, i.e. if I retype the URL. Note > that this > happens only with the static html files. Other resources that > are based > on java classes (MyResource extends ServerResource) don't have > such > problems! > > Having no idea how to solve that, I just separated the static > files from > the service. I set up an apache server on another port (80) to > deploy > the static html files and the services run on 3000. However I > think > other people are experiencing the same problem, because I had > the same > problem on 2 different machines. > > I would appreciate any suggestions or ideas on that. > > You can find the source code of the application at > http://github.com/sopasakis/yaqp > > Thank you in advance, > Sopasakis Pantelis > > ------------------------------------------------------ > 02 > ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=24106 01 ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2412143 |
||||||||||||||||
|
Sopasakis Pantelis
|
Cher Jerome,
Je n'ai pas eu le temps pour faire cela mais je l'essayerai et tu fais savoir ;-) Well not being very confident for my skills in French, I was saying that I didn't have much time to try that and I've already set up an apache for my static files. But I'll try that out and let you know! Thanks for the reply! Best Regards, Pantelis On Wed, 2009-10-28 at 15:48 +0100, Jerome Louvel wrote: > Kalimera Sopasakis, > > This is due to a bug in ServerResource in the conditional processing. Good > news: it was fixed in recent snapshots: > http://www.restlet.org/downloads/unstable > > Could you try again and let us know? > > Best regards, > Jerome Louvel > -- > Restlet ~ Founder and Lead developer ~ http://www.restlet.org > Noelios Technologies ~ Co-founder ~ http://www.noelios.com > > > -----Message d'origine----- > De : Sopasakis Pantelis [mailto:[hidden email]] > Envoyé : vendredi 23 octobre 2009 12:23 > À : [hidden email] > Objet : Re: Problem with Reloading > > Hi Rob, > Thank you for your prompt reply. I tried both Jetty and the Internal > connector but there was no difference. The problem appeared as soon as I > decided to migrate to restlet 2 m3 from restlet 1.1.5 and 1.1.6 where > the same code did not produce any errors. However, it might be just a > matter of including the appropriate jars in the classpath. Which are the > necessary ones? I tried to include all the jars in the lib/ directory of > restlet 2.0 m3 but I received some error messages... > > Best Regards, > Sopasakis Pantelis > > On Thu, 2009-10-22 at 09:27 -0400, Rob Heittman wrote: > > Did you try it to see if you get the same behavior using a connector > > other than Grizzly? (e.g. Jetty or the included HTTP connector) On > > refresh, most Mozilla based browsers will try a conditional GET first > > to see if the resource has changed, then if the server indicates that > > it has changed, will repeat with the full GET. The weird behavior you > > describe is also found when running under Tomcat 5 if you don't send a > > large enough entity from Restlet ... where that first conditional GET > > will fail and cause the same symptoms in the browser. So I'm > > wondering if it's connector-specific here, too. > > > > On Thu, Oct 22, 2009 at 8:38 AM, Sopasakis Pantelis > > <[hidden email]> wrote: > > Dear List, > > Hi for the first time, cause I'm a new member. I've developed > > a web > > service based on Restlet 1.1.5 which runs as a standalone > > application > > using Grizzly. I deciided to migrate to Restlet version 2.0. > > m3 and > > after some refactoring and changes in my code, I managed to > > make the > > whole thing work just fine! > > > > In the server class, I attach both an application and some > > static html > > files including a javadoc directory. This is the server class: > > > > > > > ******************************************************************* > > > > package org.opentox.server; > > > > import java.util.logging.Level; > > import java.util.logging.Logger; > > import org.opentox.Applications.OpenToxApplication; > > import org.opentox.Resources.AbstractResource; > > import org.restlet.Application; > > import org.restlet.Component; > > import org.restlet.data.LocalReference; > > import org.restlet.data.Protocol; > > import org.restlet.resource.Directory; > > import org.restlet.routing.VirtualHost; > > > > /** > > * > > * @author chung > > */ > > public class Server { > > > > public static void main(String[] args){ > > // Create a component > > Component component = new Component(); > > > > component.getServers().add(Protocol.HTTP, 3000); > > > > component.getClients().add(Protocol.FILE); > > > > > > LocalReference javadoc = > > LocalReference.createFileReference( > > AbstractResource.javadocDir); > > > > LocalReference home = > > LocalReference.createFileReference( > > AbstractResource.HTMLDir); > > > > > > Directory javadocDirectory = new > > Directory(component.getContext().createChildContext(), > > javadoc); > > Directory homeDirectory = new > > Directory(component.getContext().createChildContext(), home); > > > > > > Application application = new OpenToxApplication(); > > > > VirtualHost host = new VirtualHost(); > > > > host.attach("/OpenToxServices",application); > > host.attach("",homeDirectory); > > host.attach("/OpenToxServices/javadoc", > > javadocDirectory); > > > > > > > > component.setDefaultHost(host); > > try { > > component.start(); > > } catch (Exception ex) { > > > > Logger.getLogger(Server.class.getName()).log(Level.SEVERE, > > null, ex); > > } > > > > } > > > > } > > > ******************************************************************** > > > > The problem is that when I reload any of the resources that > > corresponds > > to a static HTML file (e.g. the javadoc), I get a status code > > 405 > > (Method Not allowed). If I reload the page again, I get the > > HTML but > > without the CSS. I reload it again to get the correct HTML > > representation but without the Images contained in it. Another > > reload > > gives once again a status 405, then HTML without css and > > finally the > > correct HTML. This happens each time I press F5 on mozilla BUT > > NOT if I > > request the resource again, i.e. if I retype the URL. Note > > that this > > happens only with the static html files. Other resources that > > are based > > on java classes (MyResource extends ServerResource) don't have > > such > > problems! > > > > Having no idea how to solve that, I just separated the static > > files from > > the service. I set up an apache server on another port (80) to > > deploy > > the static html files and the services run on 3000. However I > > think > > other people are experiencing the same problem, because I had > > the same > > problem on 2 different machines. > > > > I would appreciate any suggestions or ideas on that. > > > > You can find the source code of the application at > > http://github.com/sopasakis/yaqp > > > > Thank you in advance, > > Sopasakis Pantelis > > > > ------------------------------------------------------ > > > http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=24102 > 02 > > > > ------------------------------------------------------ > http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=24106 > 01 > > ------------------------------------------------------ > http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2412143 > ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2414551 |
||||||||||||||||
| Free Embeddable Forum Powered by Nabble | Help |