From: Cliff H. <xl...@da...> - 2009-08-01 12:40:26
|
Is there anyone here who has successfully gotten Jython 2.5.0 to work with GAE? I was able to make modjy work with it, but I would rather not use modjy. I'm building a small site from scratch, and want to use PyServlet, but I am running into a snag -- after I set everything up, instead of processing my python code, the server is simply giving me my .py file to download. I can get more specifics if needed. -- "I'm not responcabel fer my computer's spleling errnors" - Xlorep DarkHelm Website: http://darkhelm.org |
From: Josh J. <jun...@gm...> - 2009-08-01 15:28:46
|
Hi Cliff- The Google App Engine is a bit weird with the PyServlet as it does not want to handle the .py file as code, but rather as text like you had mentioned. You should add your .py code to the appengine-web.xml file as "static files" and then set up the PyServlet in your web.xml as usual (mapped to url-pattern of *.py). Suppose my Jython servlet name is NewJythonServlet.py and the path on my OS to the file is /Jython-code/servlets/NewJythonServlet.py, I will need to set up my appengine-web.xml as follows: <?xml version="1.0" encoding="UTF-8"?> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> <application>MyJythonApp</application> <version>1</version> <static-files> <include path="/Jython-code/servlets/NewJythonServlet.py"/> </static-files> <sessions-enabled>true</sessions-enabled> </appengine-web-app> Once this is completed, you can deploy to GAE and run as follows http://gae-server:8080/NewJythonServlet.py Let me know if this works out for you. Josh Juneau jun...@gm... http://jj-blogger.blogspot.com Twitter ID: javajuneau On Sat, Aug 1, 2009 at 7:11 AM, Cliff Hill <xl...@da...> wrote: > Is there anyone here who has successfully gotten Jython 2.5.0 to work with > GAE? I was able to make modjy work with it, but I would rather not use > modjy. I'm building a small site from scratch, and want to use PyServlet, > but I am running into a snag -- after I set everything up, instead of > processing my python code, the server is simply giving me my .py file to > download. > > I can get more specifics if needed. > > -- > "I'm not responcabel fer my computer's spleling errnors" - Xlorep DarkHelm > Website: http://darkhelm.org > > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users > > |
From: Josh J. <jun...@gm...> - 2009-08-01 16:34:06
|
Cliff- I forgot to mention that your statically mapped files can be URLs as well. So for testing purposes on your machine the appengine-web.xml that I gave you previously would work. However, to deploy to the cloud you will need to use the URL to your .py files instead. For instance: <?xml version="1.0" encoding="UTF-8"?> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> <application>MyJythonApp</application> <version>1</version> <static-files> <include path="http://localhost:8080/NewJythonServlet.py"/> </static-files> <sessions-enabled>true</sessions-enabled> </appengine-web-app> Of course, when you deploy the app then the URL should match that of your application. Josh Juneau jun...@gm... http://jj-blogger.blogspot.com Twitter ID: javajuneau On Sat, Aug 1, 2009 at 10:28 AM, Josh Juneau <jun...@gm...> wrote: > Hi Cliff- > The Google App Engine is a bit weird with the PyServlet as it does not want > to handle the .py file as code, but rather as text like you had mentioned. > You should add your .py code to the appengine-web.xml file as "static > files" and then set up the PyServlet in your web.xml as usual (mapped to > url-pattern of *.py). > > Suppose my Jython servlet name is NewJythonServlet.py and the path on my OS > to the file is /Jython-code/servlets/NewJythonServlet.py, I will need to set > up my appengine-web.xml as follows: > > <?xml version="1.0" encoding="UTF-8"?> > <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> > <application>MyJythonApp</application> > <version>1</version> > <static-files> > <include path="/Jython-code/servlets/NewJythonServlet.py"/> > </static-files> > <sessions-enabled>true</sessions-enabled> > </appengine-web-app> > > Once this is completed, you can deploy to GAE and run as follows > http://gae-server:8080/NewJythonServlet.py > > Let me know if this works out for you. > > Josh Juneau > jun...@gm... > http://jj-blogger.blogspot.com > Twitter ID: javajuneau > > > On Sat, Aug 1, 2009 at 7:11 AM, Cliff Hill <xl...@da...> wrote: > >> Is there anyone here who has successfully gotten Jython 2.5.0 to work with >> GAE? I was able to make modjy work with it, but I would rather not use >> modjy. I'm building a small site from scratch, and want to use PyServlet, >> but I am running into a snag -- after I set everything up, instead of >> processing my python code, the server is simply giving me my .py file to >> download. >> >> I can get more specifics if needed. >> >> -- >> "I'm not responcabel fer my computer's spleling errnors" - Xlorep DarkHelm >> Website: http://darkhelm.org >> >> >> >> ------------------------------------------------------------------------------ >> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 >> 30-Day >> trial. Simplify your report design, integration and deployment - and focus >> on >> what you do best, core application coding. Discover what's new with >> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> _______________________________________________ >> Jython-users mailing list >> Jyt...@li... >> https://lists.sourceforge.net/lists/listinfo/jython-users >> >> > |
From: Cliff H. <xl...@da...> - 2009-08-01 19:59:32
|
I tried what you said, and it didn't work. however, I seem to have made it work now, without needing that. Thanks. On Sat, Aug 1, 2009 at 9:33 AM, Josh Juneau <jun...@gm...> wrote: > Cliff- > I forgot to mention that your statically mapped files can be URLs as well. > So for testing purposes on your machine the appengine-web.xml that I gave > you previously would work. However, to deploy to the cloud you will need to > use the URL to your .py files instead. For instance: > > <?xml version="1.0" encoding="UTF-8"?> > <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> > <application>MyJythonApp</application> > <version>1</version> > <static-files> > <include path="http://localhost:8080/NewJythonServlet.py"/> > </static-files> > <sessions-enabled>true</sessions-enabled> > </appengine-web-app> > > Of course, > when you deploy the app then the URL should match that of your application. > > > Josh Juneau > jun...@gm... > http://jj-blogger.blogspot.com > Twitter ID: javajuneau > > > On Sat, Aug 1, 2009 at 10:28 AM, Josh Juneau <jun...@gm...> wrote: > >> Hi Cliff- >> The Google App Engine is a bit weird with the PyServlet as it does not >> want to handle the .py file as code, but rather as text like you had >> mentioned. You should add your .py code to the appengine-web.xml file as >> "static files" and then set up the PyServlet in your web.xml as usual >> (mapped to url-pattern of *.py). >> >> Suppose my Jython servlet name is NewJythonServlet.py and the path on my >> OS to the file is /Jython-code/servlets/NewJythonServlet.py, I will need to >> set up my appengine-web.xml as follows: >> >> <?xml version="1.0" encoding="UTF-8"?> >> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> >> <application>MyJythonApp</application> >> <version>1</version> >> <static-files> >> <include path="/Jython-code/servlets/NewJythonServlet.py"/> >> </static-files> >> <sessions-enabled>true</sessions-enabled> >> </appengine-web-app> >> >> Once this is completed, you can deploy to GAE and run as follows >> http://gae-server:8080/NewJythonServlet.py >> >> Let me know if this works out for you. >> >> Josh Juneau >> jun...@gm... >> http://jj-blogger.blogspot.com >> Twitter ID: javajuneau >> >> >> On Sat, Aug 1, 2009 at 7:11 AM, Cliff Hill <xl...@da...> wrote: >> >>> Is there anyone here who has successfully gotten Jython 2.5.0 to work >>> with GAE? I was able to make modjy work with it, but I would rather not use >>> modjy. I'm building a small site from scratch, and want to use PyServlet, >>> but I am running into a snag -- after I set everything up, instead of >>> processing my python code, the server is simply giving me my .py file to >>> download. >>> >>> I can get more specifics if needed. >>> >>> -- >>> "I'm not responcabel fer my computer's spleling errnors" - Xlorep >>> DarkHelm >>> Website: http://darkhelm.org >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 >>> 30-Day >>> trial. Simplify your report design, integration and deployment - and >>> focus on >>> what you do best, core application coding. Discover what's new with >>> Crystal Reports now. http://p.sf.net/sfu/bobj-july >>> _______________________________________________ >>> Jython-users mailing list >>> Jyt...@li... >>> https://lists.sourceforge.net/lists/listinfo/jython-users >>> >>> >> > -- "I'm not responcabel fer my computer's spleling errnors" - Xlorep DarkHelm Website: http://darkhelm.org Sent from Santa Maria, California, United States |
From: Josh J. <jun...@gm...> - 2009-08-01 20:25:44
|
Cliff- Can you share your solution with us? It would be great to document. The solution I showed you worked in my environment on the app engine dev server. Thanks On 8/1/09, Cliff Hill <xl...@da...> wrote: > I tried what you said, and it didn't work. however, I seem to have made it > work now, without needing that. Thanks. > > On Sat, Aug 1, 2009 at 9:33 AM, Josh Juneau <jun...@gm...> wrote: > >> Cliff- >> I forgot to mention that your statically mapped files can be URLs as >> well. >> So for testing purposes on your machine the appengine-web.xml that I >> gave >> you previously would work. However, to deploy to the cloud you will need >> to >> use the URL to your .py files instead. For instance: >> >> <?xml version="1.0" encoding="UTF-8"?> >> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> >> <application>MyJythonApp</application> >> <version>1</version> >> <static-files> >> <include path="http://localhost:8080/NewJythonServlet.py"/> >> </static-files> >> <sessions-enabled>true</sessions-enabled> >> </appengine-web-app> >> >> Of course, >> when you deploy the app then the URL should match that of your >> application. >> >> >> Josh Juneau >> jun...@gm... >> http://jj-blogger.blogspot.com >> Twitter ID: javajuneau >> >> >> On Sat, Aug 1, 2009 at 10:28 AM, Josh Juneau <jun...@gm...> wrote: >> >>> Hi Cliff- >>> The Google App Engine is a bit weird with the PyServlet as it does not >>> want to handle the .py file as code, but rather as text like you had >>> mentioned. You should add your .py code to the appengine-web.xml file >>> as >>> "static files" and then set up the PyServlet in your web.xml as usual >>> (mapped to url-pattern of *.py). >>> >>> Suppose my Jython servlet name is NewJythonServlet.py and the path on my >>> OS to the file is /Jython-code/servlets/NewJythonServlet.py, I will need >>> to >>> set up my appengine-web.xml as follows: >>> >>> <?xml version="1.0" encoding="UTF-8"?> >>> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> >>> <application>MyJythonApp</application> >>> <version>1</version> >>> <static-files> >>> <include path="/Jython-code/servlets/NewJythonServlet.py"/> >>> </static-files> >>> <sessions-enabled>true</sessions-enabled> >>> </appengine-web-app> >>> >>> Once this is completed, you can deploy to GAE and run as follows >>> http://gae-server:8080/NewJythonServlet.py >>> >>> Let me know if this works out for you. >>> >>> Josh Juneau >>> jun...@gm... >>> http://jj-blogger.blogspot.com >>> Twitter ID: javajuneau >>> >>> >>> On Sat, Aug 1, 2009 at 7:11 AM, Cliff Hill <xl...@da...> wrote: >>> >>>> Is there anyone here who has successfully gotten Jython 2.5.0 to work >>>> with GAE? I was able to make modjy work with it, but I would rather not >>>> use >>>> modjy. I'm building a small site from scratch, and want to use >>>> PyServlet, >>>> but I am running into a snag -- after I set everything up, instead of >>>> processing my python code, the server is simply giving me my .py file >>>> to >>>> download. >>>> >>>> I can get more specifics if needed. >>>> >>>> -- >>>> "I'm not responcabel fer my computer's spleling errnors" - Xlorep >>>> DarkHelm >>>> Website: http://darkhelm.org >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 >>>> 30-Day >>>> trial. Simplify your report design, integration and deployment - and >>>> focus on >>>> what you do best, core application coding. Discover what's new with >>>> Crystal Reports now. http://p.sf.net/sfu/bobj-july >>>> _______________________________________________ >>>> Jython-users mailing list >>>> Jyt...@li... >>>> https://lists.sourceforge.net/lists/listinfo/jython-users >>>> >>>> >>> >> > > > -- > "I'm not responcabel fer my computer's spleling errnors" - Xlorep DarkHelm > Website: http://darkhelm.org > Sent from Santa Maria, California, United States > -- Sent from my mobile device Josh Juneau jun...@gm... http://jj-blogger.blogspot.com Twitter ID: javajuneau |
From: Cliff H. <xl...@da...> - 2009-08-01 20:43:22
|
Curiously enough, my solution works when I run it locally in a test environment, but results in an error 405 on the GAE servers with the message: The request method GET is inappropriate for the URL /Guestbook.py So I'm a bit stumped again. My solution was, when I made the web application project in Eclipse (using the Google plugin), and then converted it into a Pydev application using Jython, I copied the jython.jar into my war/WEB-INF/lib folder, and I made a war/WEB-INF/lib-python folder like modjy, with the Lib.zip and all.pth files it uses in their own examples, I set up the web.xml file with the python.path setting pointing to the lib-python folder, and I added your suggestion for the static-files option, with an include path of: "/Guestbook.py" (I'm trying to duplicate Google's example for Java apps, only in Jython). To make it work, I had to make a war/WEB-INF/guestbook folder, and put my Guestbook.py in that folder, and then I could point my browser to: http://localhost:8080/guestbook/Guestbook.py and it worked. When I tried to put it to the production server, it didn't work (even changing the include path like you suggested), either it tries to give me the python file to download, or it does the error I outlined above. On Sat, Aug 1, 2009 at 1:25 PM, Josh Juneau <jun...@gm...> wrote: > Cliff- > > Can you share your solution with us? It would be great to document. > The solution I showed you worked in my environment on the app engine > dev server. > > Thanks > > On 8/1/09, Cliff Hill <xl...@da...> wrote: > > I tried what you said, and it didn't work. however, I seem to have made > it > > work now, without needing that. Thanks. > > > > On Sat, Aug 1, 2009 at 9:33 AM, Josh Juneau <jun...@gm...> wrote: > > > >> Cliff- > >> I forgot to mention that your statically mapped files can be URLs as > >> well. > >> So for testing purposes on your machine the appengine-web.xml that I > >> gave > >> you previously would work. However, to deploy to the cloud you will > need > >> to > >> use the URL to your .py files instead. For instance: > >> > >> <?xml version="1.0" encoding="UTF-8"?> > >> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> > >> <application>MyJythonApp</application> > >> <version>1</version> > >> <static-files> > >> <include path="http://localhost:8080/NewJythonServlet.py"/> > >> </static-files> > >> <sessions-enabled>true</sessions-enabled> > >> </appengine-web-app> > >> > >> Of course, > >> when you deploy the app then the URL should match that of your > >> application. > >> > >> > >> Josh Juneau > >> jun...@gm... > >> http://jj-blogger.blogspot.com > >> Twitter ID: javajuneau > >> > >> > >> On Sat, Aug 1, 2009 at 10:28 AM, Josh Juneau <jun...@gm...> > wrote: > >> > >>> Hi Cliff- > >>> The Google App Engine is a bit weird with the PyServlet as it does not > >>> want to handle the .py file as code, but rather as text like you had > >>> mentioned. You should add your .py code to the appengine-web.xml file > >>> as > >>> "static files" and then set up the PyServlet in your web.xml as usual > >>> (mapped to url-pattern of *.py). > >>> > >>> Suppose my Jython servlet name is NewJythonServlet.py and the path on > my > >>> OS to the file is /Jython-code/servlets/NewJythonServlet.py, I will > need > >>> to > >>> set up my appengine-web.xml as follows: > >>> > >>> <?xml version="1.0" encoding="UTF-8"?> > >>> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> > >>> <application>MyJythonApp</application> > >>> <version>1</version> > >>> <static-files> > >>> <include path="/Jython-code/servlets/NewJythonServlet.py"/> > >>> </static-files> > >>> <sessions-enabled>true</sessions-enabled> > >>> </appengine-web-app> > >>> > >>> Once this is completed, you can deploy to GAE and run as follows > >>> http://gae-server:8080/NewJythonServlet.py > >>> > >>> Let me know if this works out for you. > >>> > >>> Josh Juneau > >>> jun...@gm... > >>> http://jj-blogger.blogspot.com > >>> Twitter ID: javajuneau > >>> > >>> > >>> On Sat, Aug 1, 2009 at 7:11 AM, Cliff Hill <xl...@da...> > wrote: > >>> > >>>> Is there anyone here who has successfully gotten Jython 2.5.0 to work > >>>> with GAE? I was able to make modjy work with it, but I would rather > not > >>>> use > >>>> modjy. I'm building a small site from scratch, and want to use > >>>> PyServlet, > >>>> but I am running into a snag -- after I set everything up, instead of > >>>> processing my python code, the server is simply giving me my .py file > >>>> to > >>>> download. > >>>> > >>>> I can get more specifics if needed. > >>>> > >>>> -- > >>>> "I'm not responcabel fer my computer's spleling errnors" - Xlorep > >>>> DarkHelm > >>>> Website: http://darkhelm.org > >>>> > >>>> > >>>> > >>>> > ------------------------------------------------------------------------------ > >>>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 > >>>> 30-Day > >>>> trial. Simplify your report design, integration and deployment - and > >>>> focus on > >>>> what you do best, core application coding. Discover what's new with > >>>> Crystal Reports now. http://p.sf.net/sfu/bobj-july > >>>> _______________________________________________ > >>>> Jython-users mailing list > >>>> Jyt...@li... > >>>> https://lists.sourceforge.net/lists/listinfo/jython-users > >>>> > >>>> > >>> > >> > > > > > > -- > > "I'm not responcabel fer my computer's spleling errnors" - Xlorep > DarkHelm > > Website: http://darkhelm.org > > Sent from Santa Maria, California, United States > > > > -- > Sent from my mobile device > > Josh Juneau > jun...@gm... > http://jj-blogger.blogspot.com > Twitter ID: javajuneau > -- "I'm not responcabel fer my computer's spleling errnors" - Xlorep DarkHelm Website: http://darkhelm.org Sent from Santa Maria, California, United States -- "I'm not responcabel fer my computer's spleling errnors" - Xlorep DarkHelm Website: http://darkhelm.org Sent from Santa Maria, California, United States |
From: Cliff H. <xl...@da...> - 2009-08-02 02:19:36
|
Here's exactly what I am trying to do: Jython 2.5.0 on Google Apps Engine/Java Using Eclipse 3.4 (Ganymede) with: - Pydev plugin - Google plugin My thoughts: 1. I make a Web Application Project in Eclipse (Name: Guestbook, package: guestbook) with the Google plugin, using the Java API. 2. I convert the project into a Pydev project - Set grammar to 2.5, and select Jython 3. I copy the jython.jar into war/WEB-INF/lib 4. I zip up the Jython library (Lib folder) into Lib.zip - I make a text file called "all.pth" with a single line of "Lib.zip" in it. 5. I create a war/WEB-INF/lib-python folder and place the Lib.zip and all.pth files in it. 6. I modify the war/WEB-INF/web.xml to the following: > <?xml version="1.0" encoding="utf-8"?> > <!DOCTYPE web-app PUBLIC > "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" > "http://java.sun.com/dtd/web-app_2_3.dtd"> > > <web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5"> > <servlet> > <servlet-name>PyServlet</servlet-name> > <servlet-class>org.python.util.PyServlet</servlet-class> > <init-param> > <param-name>python.home</param-name> > <param-value>WEB-INF/lib-python</param-value> > </init-param> > <init-param> > <param-name>python.cachedir.skip</param-name> > <param-value>true</param-value> > </init-param> > </servlet> > > <servlet-mapping> > <servlet-name>PyServlet</servlet-name> > <url-pattern>*.py</url-pattern> > </servlet-mapping> > > <welcome-file-list> > <welcome-file>index.html</welcome-file> > </welcome-file-list> > </web-app> Then I started writing my Jython code. I tried something simple (deriving from the tutorial Google provided for Java, I'm making a Jython equivalent of the Guestbook app, I made a file Guestbook.py which starts off as a Hello, World app): import javax > > class Guestbook(javax.servlet.http.HttpServlet): > > def doGet(self, req, resp): > resp.contentType = "text/plain" > resp.writer.println("Hello, World") > I saved it under the war folder I then did Debug As -> "Web Application" which fires up the development environment server to test with. When I tried to run my servlet with the following: http://localhost:8080/Guestbook.py It just gives me the python source file to download. So, then trying Josh's suggestion, I modified the file war/WEB-INF/appengine-web.xml as follows: <?xml version="1.0" encoding="utf-8"?> > <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> > <application>myapp</application> > <version>1</version> > > <static-files> > <include path="/Guestbook.py"/> > </static-files> > > <!-- Configure java.util.logging --> > <system-properties> > <property name="java.util.logging.config.file" > value="WEB-INF/logging.properties"/> > </system-properties> > > </appengine-web-app> > I tried the same link as above, same result. When I made a folder called war/guestbook and placed the Guestbook.py file in it, and went to the following link instead: http://localhost:8080/guestbook/Guestbook.py it worked! When I tried uploading it to Google, it didn't, giving the error I showed previously: The request method GET is inappropriate for the URL /Guestbook.pySo now I'm stuck again... On Sat, Aug 1, 2009 at 1:42 PM, Cliff Hill <xl...@da...> wrote: > Curiously enough, my solution works when I run it locally in a test > environment, but results in an error 405 on the GAE servers with the > message: > > The request method GET is inappropriate for the URL /Guestbook.py So I'm a > bit stumped again. > > My solution was, when I made the web application project in Eclipse (using > the Google plugin), and then converted it into a Pydev application using > Jython, I copied the jython.jar into my war/WEB-INF/lib folder, and I made a > war/WEB-INF/lib-python folder like modjy, with the Lib.zip and all.pth files > it uses in their own examples, I set up the web.xml file with the > python.path setting pointing to the lib-python folder, and I added your > suggestion for the static-files option, with an include path of: > "/Guestbook.py" (I'm trying to duplicate Google's example for Java apps, > only in Jython). To make it work, I had to make a war/WEB-INF/guestbook > folder, and put my Guestbook.py in that folder, and then I could point my > browser to: http://localhost:8080/guestbook/Guestbook.py and it worked. > When I tried to put it to the production server, it didn't work (even > changing the include path like you suggested), either it tries to give me > the python file to download, or it does the error I outlined above. > > > On Sat, Aug 1, 2009 at 1:25 PM, Josh Juneau <jun...@gm...> wrote: > >> Cliff- >> >> Can you share your solution with us? It would be great to document. >> The solution I showed you worked in my environment on the app engine >> dev server. >> >> Thanks >> >> On 8/1/09, Cliff Hill <xl...@da...> wrote: >> > I tried what you said, and it didn't work. however, I seem to have made >> it >> > work now, without needing that. Thanks. >> > >> > On Sat, Aug 1, 2009 at 9:33 AM, Josh Juneau <jun...@gm...> >> wrote: >> > >> >> Cliff- >> >> I forgot to mention that your statically mapped files can be URLs as >> >> well. >> >> So for testing purposes on your machine the appengine-web.xml that I >> >> gave >> >> you previously would work. However, to deploy to the cloud you will >> need >> >> to >> >> use the URL to your .py files instead. For instance: >> >> >> >> <?xml version="1.0" encoding="UTF-8"?> >> >> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> >> >> <application>MyJythonApp</application> >> >> <version>1</version> >> >> <static-files> >> >> <include path="http://localhost:8080/NewJythonServlet.py"/> >> >> </static-files> >> >> <sessions-enabled>true</sessions-enabled> >> >> </appengine-web-app> >> >> >> >> Of course, >> >> when you deploy the app then the URL should match that of your >> >> application. >> >> >> >> >> >> Josh Juneau >> >> jun...@gm... >> >> http://jj-blogger.blogspot.com >> >> Twitter ID: javajuneau >> >> >> >> >> >> On Sat, Aug 1, 2009 at 10:28 AM, Josh Juneau <jun...@gm...> >> wrote: >> >> >> >>> Hi Cliff- >> >>> The Google App Engine is a bit weird with the PyServlet as it does not >> >>> want to handle the .py file as code, but rather as text like you had >> >>> mentioned. You should add your .py code to the appengine-web.xml file >> >>> as >> >>> "static files" and then set up the PyServlet in your web.xml as usual >> >>> (mapped to url-pattern of *.py). >> >>> >> >>> Suppose my Jython servlet name is NewJythonServlet.py and the path on >> my >> >>> OS to the file is /Jython-code/servlets/NewJythonServlet.py, I will >> need >> >>> to >> >>> set up my appengine-web.xml as follows: >> >>> >> >>> <?xml version="1.0" encoding="UTF-8"?> >> >>> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> >> >>> <application>MyJythonApp</application> >> >>> <version>1</version> >> >>> <static-files> >> >>> <include path="/Jython-code/servlets/NewJythonServlet.py"/> >> >>> </static-files> >> >>> <sessions-enabled>true</sessions-enabled> >> >>> </appengine-web-app> >> >>> >> >>> Once this is completed, you can deploy to GAE and run as follows >> >>> http://gae-server:8080/NewJythonServlet.py >> >>> >> >>> Let me know if this works out for you. >> >>> >> >>> Josh Juneau >> >>> jun...@gm... >> >>> http://jj-blogger.blogspot.com >> >>> Twitter ID: javajuneau >> >>> >> >>> >> >>> On Sat, Aug 1, 2009 at 7:11 AM, Cliff Hill <xl...@da...> >> wrote: >> >>> >> >>>> Is there anyone here who has successfully gotten Jython 2.5.0 to work >> >>>> with GAE? I was able to make modjy work with it, but I would rather >> not >> >>>> use >> >>>> modjy. I'm building a small site from scratch, and want to use >> >>>> PyServlet, >> >>>> but I am running into a snag -- after I set everything up, instead of >> >>>> processing my python code, the server is simply giving me my .py file >> >>>> to >> >>>> download. >> >>>> >> >>>> I can get more specifics if needed. >> >>>> >> >>>> -- >> >>>> "I'm not responcabel fer my computer's spleling errnors" - Xlorep >> >>>> DarkHelm >> >>>> Website: http://darkhelm.org >> >>>> >> >>>> >> >>>> >> >>>> >> ------------------------------------------------------------------------------ >> >>>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 >> >>>> 30-Day >> >>>> trial. Simplify your report design, integration and deployment - and >> >>>> focus on >> >>>> what you do best, core application coding. Discover what's new with >> >>>> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> >>>> _______________________________________________ >> >>>> Jython-users mailing list >> >>>> Jyt...@li... >> >>>> https://lists.sourceforge.net/lists/listinfo/jython-users >> >>>> >> >>>> >> >>> >> >> >> > >> > >> > -- >> > "I'm not responcabel fer my computer's spleling errnors" - Xlorep >> DarkHelm >> > Website: http://darkhelm.org >> > Sent from Santa Maria, California, United States >> > >> >> -- >> Sent from my mobile device >> >> Josh Juneau >> jun...@gm... >> http://jj-blogger.blogspot.com >> Twitter ID: javajuneau >> > > > > -- > "I'm not responcabel fer my computer's spleling errnors" - Xlorep DarkHelm > Website: http://darkhelm.org > Sent from Santa Maria, California, United States > > > > -- > "I'm not responcabel fer my computer's spleling errnors" - Xlorep DarkHelm > Website: http://darkhelm.org > Sent from Santa Maria, California, United States > -- "I'm not responcabel fer my computer's spleling errnors" - Xlorep DarkHelm Website: http://darkhelm.org Sent from Santa Maria, California, United States |
From: Josh J. <jun...@gm...> - 2009-08-02 13:42:13
|
Cliff- I am seeing the same issues that you are having when I try to deploy to the cloud. Everything works fine when running on the Google App Engine dev environment, but production is a FAIL. I am going to continue working on this so that we can get it resolved. I'll be in touch. Regards Josh Juneau jun...@gm... http://jj-blogger.blogspot.com Twitter ID: javajuneau On Sat, Aug 1, 2009 at 9:19 PM, Cliff Hill <xl...@da...> wrote: > Here's exactly what I am trying to do: > > Jython 2.5.0 on Google Apps Engine/Java > > Using Eclipse 3.4 (Ganymede) with: > > - Pydev plugin > - Google plugin > > My thoughts: > > 1. I make a Web Application Project in Eclipse (Name: Guestbook, > package: guestbook) with the Google plugin, using the Java API. > 2. I convert the project into a Pydev project > - Set grammar to 2.5, and select Jython > 3. I copy the jython.jar into war/WEB-INF/lib > 4. I zip up the Jython library (Lib folder) into Lib.zip > - I make a text file called "all.pth" with a single line of > "Lib.zip" in it. > 5. I create a war/WEB-INF/lib-python folder and place the Lib.zip and > all.pth files in it. > 6. I modify the war/WEB-INF/web.xml to the following: > >> <?xml version="1.0" encoding="utf-8"?> >> <!DOCTYPE web-app PUBLIC >> "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" >> "http://java.sun.com/dtd/web-app_2_3.dtd"> >> >> <web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5"> >> <servlet> >> <servlet-name>PyServlet</servlet-name> >> <servlet-class>org.python.util.PyServlet</servlet-class> >> <init-param> >> <param-name>python.home</param-name> >> <param-value>WEB-INF/lib-python</param-value> >> </init-param> >> <init-param> >> <param-name>python.cachedir.skip</param-name> >> <param-value>true</param-value> >> </init-param> >> </servlet> >> >> <servlet-mapping> >> <servlet-name>PyServlet</servlet-name> >> <url-pattern>*.py</url-pattern> >> </servlet-mapping> >> >> <welcome-file-list> >> <welcome-file>index.html</welcome-file> >> </welcome-file-list> >> </web-app> > > > Then I started writing my Jython code. I tried something simple (deriving > from the tutorial Google provided for Java, I'm making a Jython equivalent > of the Guestbook app, I made a file Guestbook.py which starts off as a > Hello, World app): > > import javax >> >> class Guestbook(javax.servlet.http.HttpServlet): >> >> def doGet(self, req, resp): >> resp.contentType = "text/plain" >> resp.writer.println("Hello, World") >> > I saved it under the war folder > > I then did Debug As -> "Web Application" which fires up the development > environment server to test with. When I tried to run my servlet with the > following: > > http://localhost:8080/Guestbook.py > > It just gives me the python source file to download. > > So, then trying Josh's suggestion, I modified the file > war/WEB-INF/appengine-web.xml as follows: > > <?xml version="1.0" encoding="utf-8"?> >> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> >> <application>myapp</application> >> <version>1</version> >> >> <static-files> >> <include path="/Guestbook.py"/> >> </static-files> >> >> <!-- Configure java.util.logging --> >> <system-properties> >> <property name="java.util.logging.config.file" >> value="WEB-INF/logging.properties"/> >> </system-properties> >> >> </appengine-web-app> >> > > I tried the same link as above, same result. > > When I made a folder called war/guestbook and placed the Guestbook.py file > in it, and went to the following link instead: > http://localhost:8080/guestbook/Guestbook.py it worked! > > When I tried uploading it to Google, it didn't, giving the error I showed > previously: > > The request method GET is inappropriate for the URL /Guestbook.py > So now I'm stuck again... > > > On Sat, Aug 1, 2009 at 1:42 PM, Cliff Hill <xl...@da...> wrote: > >> Curiously enough, my solution works when I run it locally in a test >> environment, but results in an error 405 on the GAE servers with the >> message: >> >> The request method GET is inappropriate for the URL /Guestbook.py So I'm >> a bit stumped again. >> >> My solution was, when I made the web application project in Eclipse (using >> the Google plugin), and then converted it into a Pydev application using >> Jython, I copied the jython.jar into my war/WEB-INF/lib folder, and I made a >> war/WEB-INF/lib-python folder like modjy, with the Lib.zip and all.pth files >> it uses in their own examples, I set up the web.xml file with the >> python.path setting pointing to the lib-python folder, and I added your >> suggestion for the static-files option, with an include path of: >> "/Guestbook.py" (I'm trying to duplicate Google's example for Java apps, >> only in Jython). To make it work, I had to make a war/WEB-INF/guestbook >> folder, and put my Guestbook.py in that folder, and then I could point my >> browser to: http://localhost:8080/guestbook/Guestbook.py and it worked. >> When I tried to put it to the production server, it didn't work (even >> changing the include path like you suggested), either it tries to give me >> the python file to download, or it does the error I outlined above. >> >> >> On Sat, Aug 1, 2009 at 1:25 PM, Josh Juneau <jun...@gm...> wrote: >> >>> Cliff- >>> >>> Can you share your solution with us? It would be great to document. >>> The solution I showed you worked in my environment on the app engine >>> dev server. >>> >>> Thanks >>> >>> On 8/1/09, Cliff Hill <xl...@da...> wrote: >>> > I tried what you said, and it didn't work. however, I seem to have made >>> it >>> > work now, without needing that. Thanks. >>> > >>> > On Sat, Aug 1, 2009 at 9:33 AM, Josh Juneau <jun...@gm...> >>> wrote: >>> > >>> >> Cliff- >>> >> I forgot to mention that your statically mapped files can be URLs as >>> >> well. >>> >> So for testing purposes on your machine the appengine-web.xml that I >>> >> gave >>> >> you previously would work. However, to deploy to the cloud you will >>> need >>> >> to >>> >> use the URL to your .py files instead. For instance: >>> >> >>> >> <?xml version="1.0" encoding="UTF-8"?> >>> >> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> >>> >> <application>MyJythonApp</application> >>> >> <version>1</version> >>> >> <static-files> >>> >> <include path="http://localhost:8080/NewJythonServlet.py"/> >>> >> </static-files> >>> >> <sessions-enabled>true</sessions-enabled> >>> >> </appengine-web-app> >>> >> >>> >> Of course, >>> >> when you deploy the app then the URL should match that of your >>> >> application. >>> >> >>> >> >>> >> Josh Juneau >>> >> jun...@gm... >>> >> http://jj-blogger.blogspot.com >>> >> Twitter ID: javajuneau >>> >> >>> >> >>> >> On Sat, Aug 1, 2009 at 10:28 AM, Josh Juneau <jun...@gm...> >>> wrote: >>> >> >>> >>> Hi Cliff- >>> >>> The Google App Engine is a bit weird with the PyServlet as it does >>> not >>> >>> want to handle the .py file as code, but rather as text like you had >>> >>> mentioned. You should add your .py code to the appengine-web.xml >>> file >>> >>> as >>> >>> "static files" and then set up the PyServlet in your web.xml as usual >>> >>> (mapped to url-pattern of *.py). >>> >>> >>> >>> Suppose my Jython servlet name is NewJythonServlet.py and the path on >>> my >>> >>> OS to the file is /Jython-code/servlets/NewJythonServlet.py, I will >>> need >>> >>> to >>> >>> set up my appengine-web.xml as follows: >>> >>> >>> >>> <?xml version="1.0" encoding="UTF-8"?> >>> >>> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> >>> >>> <application>MyJythonApp</application> >>> >>> <version>1</version> >>> >>> <static-files> >>> >>> <include path="/Jython-code/servlets/NewJythonServlet.py"/> >>> >>> </static-files> >>> >>> <sessions-enabled>true</sessions-enabled> >>> >>> </appengine-web-app> >>> >>> >>> >>> Once this is completed, you can deploy to GAE and run as follows >>> >>> http://gae-server:8080/NewJythonServlet.py >>> >>> >>> >>> Let me know if this works out for you. >>> >>> >>> >>> Josh Juneau >>> >>> jun...@gm... >>> >>> http://jj-blogger.blogspot.com >>> >>> Twitter ID: javajuneau >>> >>> >>> >>> >>> >>> On Sat, Aug 1, 2009 at 7:11 AM, Cliff Hill <xl...@da...> >>> wrote: >>> >>> >>> >>>> Is there anyone here who has successfully gotten Jython 2.5.0 to >>> work >>> >>>> with GAE? I was able to make modjy work with it, but I would rather >>> not >>> >>>> use >>> >>>> modjy. I'm building a small site from scratch, and want to use >>> >>>> PyServlet, >>> >>>> but I am running into a snag -- after I set everything up, instead >>> of >>> >>>> processing my python code, the server is simply giving me my .py >>> file >>> >>>> to >>> >>>> download. >>> >>>> >>> >>>> I can get more specifics if needed. >>> >>>> >>> >>>> -- >>> >>>> "I'm not responcabel fer my computer's spleling errnors" - Xlorep >>> >>>> DarkHelm >>> >>>> Website: http://darkhelm.org >>> >>>> >>> >>>> >>> >>>> >>> >>>> >>> ------------------------------------------------------------------------------ >>> >>>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 >>> >>>> 30-Day >>> >>>> trial. Simplify your report design, integration and deployment - and >>> >>>> focus on >>> >>>> what you do best, core application coding. Discover what's new with >>> >>>> Crystal Reports now. http://p.sf.net/sfu/bobj-july >>> >>>> _______________________________________________ >>> >>>> Jython-users mailing list >>> >>>> Jyt...@li... >>> >>>> https://lists.sourceforge.net/lists/listinfo/jython-users >>> >>>> >>> >>>> >>> >>> >>> >> >>> > >>> > >>> > -- >>> > "I'm not responcabel fer my computer's spleling errnors" - Xlorep >>> DarkHelm >>> > Website: http://darkhelm.org >>> > Sent from Santa Maria, California, United States >>> > >>> >>> -- >>> Sent from my mobile device >>> >>> Josh Juneau >>> jun...@gm... >>> http://jj-blogger.blogspot.com >>> Twitter ID: javajuneau >>> >> >> >> >> -- >> "I'm not responcabel fer my computer's spleling errnors" - Xlorep DarkHelm >> Website: http://darkhelm.org >> Sent from Santa Maria, California, United States >> >> >> >> -- >> "I'm not responcabel fer my computer's spleling errnors" - Xlorep DarkHelm >> Website: http://darkhelm.org >> Sent from Santa Maria, California, United States >> > > > > -- > "I'm not responcabel fer my computer's spleling errnors" - Xlorep DarkHelm > Website: http://darkhelm.org > Sent from Santa Maria, California, United States > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users > > |
From: Cliff H. <xl...@da...> - 2009-08-05 15:16:00
|
Worked like a charm! Thanks for the time and effort you put into helping me out on this. On Wed, Aug 5, 2009 at 5:07 AM, Josh Juneau <jun...@gm...> wrote: > Okay, I got it working in PyDev (Eclipse). On the first run, I had the > same issue as you, but then I altered my CLASSPATH a bit to include the web > directory. Perform the following steps and let me know if it works out for > you... > > 1) Go to Project Properties->Java Build Path > > 2) Click on Add Folder and select war folder > > 3) Exclude the WEB-INF directory of the war folder or else it will not > accept the war directory as a valid build path > > 4) Run app! > > I also deployed to the cloud and it seems to work fine. > > Let me know how if this does the trick! > > > Josh Juneau > jun...@gm... > http://jj-blogger.blogspot.com > Twitter ID: javajuneau > > > On Tue, Aug 4, 2009 at 12:06 PM, Cliff Hill <xl...@da...> wrote: > >> Ok, well, if you are wondering, a fresh release of the code I sent in that >> attachment is currently running at: >> >> http://www-test.darkhelm.org/NewJythonServlet >> >> The logs show the following: >> >> >> 1. >> 1. 08-04 09:59AM 06.576 /NewJythonServlet 500 6687ms 12020cpu_ms >> 36api_cpu_ms 0kb Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; >> rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1,gzip(gfe),gzip(gfe) See >> details<https://appengine.google.com/logs/log_detail?app_id=thedarkhelm&version_id=1.335383232504979261&request_id=00047053CE57424B.E600400A&layout=plain> >> >> 207.166.99.104 - - [04/Aug/2009:09:59:13 -0700] "GET /NewJythonServlet HTTP/1.1" 500 0 - "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1,gzip(gfe),gzip(gfe)" "www-test.darkhelm.org" >> >> 2. W 08-04 09:59AM 09.912 >> >> [thedarkhelm/1.335383232504979261].<stderr>: *sys-package-mgr*: The java security manager isn't allowing access to the package cache dir, 'cachedir/packages' >> >> >> 3. E 08-04 09:59AM 13.160 >> >> org.plyjy.factory.JythonObjectFactory createObject: null >> org.plyjy.exceptions.ModuleNotFoundException: The module 'NewJythonServlet' is not found. >> at org.plyjy.factory.JythonObjectFactory.createObject(JythonObjectFactory.java:50) >> >> >> >> >> at org.jython.JythonServletFacade.doGet(JythonServletFacade.java:65) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:693) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) >> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) >> >> >> >> >> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093) >> at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35) >> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> >> >> >> >> at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) >> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) >> >> >> >> >> at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) >> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) >> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) >> >> >> >> >> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) >> at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:237) >> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) >> >> >> >> >> at org.mortbay.jetty.Server.handle(Server.java:313) >> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506) >> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830) >> >> >> >> >> at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76) >> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) >> at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:139) >> >> >> >> >> at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:235) >> at com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:4823) >> at com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:4821) >> >> >> >> >> at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java:24) >> at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:359) >> at com.google.net.rpc.impl.Server$2.run(Server.java:820) >> >> >> >> >> at com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java:56) >> at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpanBuilder.java:516) >> at com.google.net.rpc.impl.Server.startRpc(Server.java:775) >> >> >> >> >> at com.google.net.rpc.impl.Server.processRequest(Server.java:348) >> at com.google.net.rpc.impl.ServerConnection.messageReceived(ServerConnection.java:436) >> at com.google.net.rpc.impl.RpcConnection.parseMessages(RpcConnection.java:319) >> >> >> >> >> at com.google.net.rpc.impl.RpcConnection.dataReceived(RpcConnection.java:290) >> at com.google.net.async.Connection.handleReadEvent(Connection.java:428) >> at com.google.net.async.EventDispatcher.processNetworkEvents(EventDispatcher.java:762) >> >> >> >> >> at com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java:207) >> at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:101) >> at com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java:251) >> >> >> >> >> at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run(JavaRuntime.java:374) >> at java.lang.Thread.run(Unknown Source) >> >> 4. W 08-04 09:59AM 13.199 >> >> /NewJythonServlet >> java.lang.NullPointerException >> at org.plyjy.factory.JythonObjectFactory.createObject(JythonObjectFactory.java:58) >> at org.jython.JythonServletFacade.doGet(JythonServletFacade.java:65) >> >> >> >> >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:693) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) >> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) >> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093) >> >> >> >> >> at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35) >> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) >> >> >> >> >> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) >> at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) >> >> >> >> >> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) >> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) >> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) >> >> >> >> >> at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:237) >> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) >> at org.mortbay.jetty.Server.handle(Server.java:313) >> >> >> >> >> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506) >> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830) >> at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76) >> >> >> >> >> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) >> at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:139) >> at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:235) >> >> >> >> >> at com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:4823) >> at com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:4821) >> at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java:24) >> >> >> >> >> at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:359) >> at com.google.net.rpc.impl.Server$2.run(Server.java:820) >> at com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java:56) >> >> >> >> >> at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpanBuilder.java:516) >> at com.google.net.rpc.impl.Server.startRpc(Server.java:775) >> at com.google.net.rpc.impl.Server.processRequest(Server.java:348) >> >> >> >> >> at com.google.net.rpc.impl.ServerConnection.messageReceived(ServerConnection.java:436) >> at com.google.net.rpc.impl.RpcConnection.parseMessages(RpcConnection.java:319) >> at com.google.net.rpc.impl.RpcConnection.dataReceived(RpcConnection.java:290) >> >> >> >> >> at com.google.net.async.Connection.handleReadEvent(Connection.java:428) >> at com.google.net.async.EventDispatcher.processNetworkEvents(EventDispatcher.java:762) >> at com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java:207) >> >> >> >> >> at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:101) >> at com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java:251) >> at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run(JavaRuntime.java:374) >> >> >> >> >> at java.lang.Thread.run(Unknown Source) >> >> 5. C 08-04 09:59AM 13.249 >> >> Uncaught exception from servlet >> java.lang.NullPointerException >> at org.plyjy.factory.JythonObjectFactory.createObject(JythonObjectFactory.java:58) >> at org.jython.JythonServletFacade.doGet(JythonServletFacade.java:65) >> >> >> >> >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:693) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) >> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) >> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093) >> >> >> >> >> at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35) >> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) >> >> >> >> >> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) >> at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) >> >> >> >> >> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) >> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) >> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) >> >> >> >> >> at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:237) >> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) >> at org.mortbay.jetty.Server.handle(Server.java:313) >> >> >> >> >> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506) >> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830) >> at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76) >> >> >> >> >> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) >> at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:139) >> at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:235) >> >> >> >> >> at com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:4823) >> at com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:4821) >> at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java:24) >> >> >> >> >> at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:359) >> at com.google.net.rpc.impl.Server$2.run(Server.java:820) >> at com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java:56) >> >> >> >> >> at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpanBuilder.java:516) >> at com.google.net.rpc.impl.Server.startRpc(Server.java:775) >> at com.google.net.rpc.impl.Server.processRequest(Server.java:348) >> >> >> >> >> at com.google.net.rpc.impl.ServerConnection.messageReceived(ServerConnection.java:436) >> at com.google.net.rpc.impl.RpcConnection.parseMessages(RpcConnection.java:319) >> at com.google.net.rpc.impl.RpcConnection.dataReceived(RpcConnection.java:290) >> >> >> >> >> at com.google.net.async.Connection.handleReadEvent(Connection.java:428) >> at com.google.net.async.EventDispatcher.processNetworkEvents(EventDispatcher.java:762) >> at com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java:207) >> >> >> >> >> at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:101) >> at com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java:251) >> at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run(JavaRuntime.java:374) >> >> >> >> >> at java.lang.Thread.run(Unknown Source) >> >> >> It appears that the module isn't found. However, if you run the link as: >> >> http://www-test.darkhelm.org/NewJythonServlet.py >> >> It will work, and then the other link also will work after running it once >> with the .py extension. >> >> The problem I have is while this works for me, it would be annoying to >> have to run each jython servlet individually with a .py extension, in order >> to have them all built and ready to be used as I expect them to be. >> >> >> On Tue, Aug 4, 2009 at 9:32 AM, Josh Juneau <jun...@gm...> wrote: >> >>> Thanks. Don't worry about setting Netbeans up unless you really want >>> to. I need to make sure that this will work in Eclipse anyways since I am >>> using this example in the book. This will also give me a chance to give >>> some feedback on working with GAE in Eclipse. ;) >>> >>> I'll be in touch later today. >>> >>> Josh Juneau >>> jun...@gm... >>> http://jj-blogger.blogspot.com >>> Twitter ID: javajuneau >>> >>> >>> On Tue, Aug 4, 2009 at 11:28 AM, Cliff Hill <xl...@da...> wrote: >>> >>>> When at work, I'm on Windows XP. When I'm at home, I'm on Kubuntu >>>> GNU/Linux. I've been trying to get a GIT plugin working for Eclipse for me >>>> to be able to easily run a distributed source repo directly in Eclipse. >>>> >>>> Another note: The Windows XP system is set up as a portable app off my >>>> USB hard drive. If I could get netbeans set up using the same kind of a >>>> system, I'd give it a shot, but it is being annoying in how it doesn't want >>>> to work right... >>>> >>>> >>>> On Tue, Aug 4, 2009 at 9:20 AM, Josh Juneau <jun...@gm...>wrote: >>>> >>>>> Everything does look fine to me. I am going to try and set up the >>>>> project in Eclipse and get it running. Another question, are you using >>>>> Windows or OS X? I am on OS X myself. Now that obviously won't make a >>>>> difference when deploying to the cloud, but perhaps it would with our dev >>>>> environments. >>>>> >>>>> Thanks >>>>> >>>>> Josh Juneau >>>>> jun...@gm... >>>>> http://jj-blogger.blogspot.com >>>>> Twitter ID: javajuneau >>>>> >>>>> >>>>> On Tue, Aug 4, 2009 at 10:46 AM, Cliff Hill <xl...@da...>wrote: >>>>> >>>>>> Ok, I just tried to do exactly what you outlined, to the letter, in >>>>>> Eclipse, and still get the error 500's when I run the local testing server >>>>>> or deploy it to the cloud. Grr... this is annoying. I've attached a copy of >>>>>> the code from Eclipse, if you are curious. >>>>>> >>>>>> On Tue, Aug 4, 2009 at 2:42 AM, Josh Juneau <jun...@gm...>wrote: >>>>>> >>>>>>> When using the nbappengine plugin for Netbeans, the project does not >>>>>>> follow the template as suggested by Google. There is no war folder, but >>>>>>> rather just a normal web application so my setup may be a little different. >>>>>>> I've been placing my Jython servlets into the same place as my JSPs would >>>>>>> go. However, just for fun I have tried to move my code around into >>>>>>> different regions of the application and it works as long as the .py files >>>>>>> are somewhere on the classpath. >>>>>>> Josh Juneau >>>>>>> jun...@gm... >>>>>>> http://jj-blogger.blogspot.com >>>>>>> Twitter ID: javajuneau >>>>>>> >>>>>> >>>>>> -- >>>>>> "I'm not responcabel fer my computer's spleling errnors" - Xlorep >>>>>> DarkHelm >>>>>> Website: http://darkhelm.org >>>>>> >>>>>> >>>>> >>>> >>>> >>>> -- >>>> "I'm not responcabel fer my computer's spleling errnors" - Xlorep >>>> DarkHelm >>>> Website: http://darkhelm.org >>>> Sent from Santa Maria, California, United States >>>> >>> >>> >> >> >> -- >> "I'm not responcabel fer my computer's spleling errnors" - Xlorep DarkHelm >> Website: http://darkhelm.org >> >> > -- "I'm not responcabel fer my computer's spleling errnors" - Xlorep DarkHelm Website: http://darkhelm.org |
From: <rec...@gm...> - 2009-08-06 22:58:41
|
Any chance you can give step by step how to get this to work, or know the reason for 405 error I'm getting. It works locally for me but fails with HTTP 405 error on the cloud ? Thanks |
From: <rec...@gm...> - 2009-08-07 19:20:57
|
Thanks Josh and Cliff, Still no joy with the standard PyServlet method but I've got the object factory version working fine. Cheers |
From: Cliff H. <xl...@da...> - 2009-08-07 19:25:47
|
Yup, that's the only way I could do it, so I now have a stub project in Eclipse which sets everything up for me to begin work on a Jython GAE/J project. (I threw it into a GIT repo on my home server, which I easily clone to make new Jython GAE/J projects) On Fri, Aug 7, 2009 at 12:20 PM, <rec...@gm...> wrote: > Thanks Josh and Cliff, > > Still no joy with the standard PyServlet method but I've got the object > factory version working fine. > > Cheers > -- "I'm not responcabel fer my computer's spleling errnors" - Xlorep DarkHelm Website: http://darkhelm.org Sent from Santa Maria, California, United States |
From: Josh J. <jun...@gm...> - 2009-08-07 19:46:34
|
Glad to hear that you got it working using the object factory technique. That is the route I use as well. Hopefully some future release of the app engine will work with PyServlet, but I'm sticking with object factories for now. Also, a big thanks to Cliff for getting me to work in the Eclipse environment so I could document that as well. Best to you Josh Juneau jun...@gm... http://jj-blogger.blogspot.com Twitter ID: javajuneau On Fri, Aug 7, 2009 at 2:20 PM, <rec...@gm...> wrote: > Thanks Josh and Cliff, > > Still no joy with the standard PyServlet method but I've got the object > factory version working fine. > > Cheers > |
From: Josh J. <jun...@gm...> - 2009-08-08 19:32:06
|
I've updated the simple Jython Google App Engine application that I'm using for the upcoming Jython book. Everything you need to learn how to use Jython servlets with the Google App Engine can be found here: http://jythongae.appspot.com/ Hope this is useful for anyone trying to use the GAE. Best Josh Juneau jun...@gm... http://jj-blogger.blogspot.com Twitter ID: javajuneau On Fri, Aug 7, 2009 at 2:46 PM, Josh Juneau <jun...@gm...> wrote: > Glad to hear that you got it working using the object factory technique. > That is the route I use as well. Hopefully some future release of the app engine will work with PyServlet, but I'm sticking with object factories for now. > Also, a big thanks to Cliff for getting me to work in the Eclipse > environment so I could document that as well. > Best to you > > Josh Juneau > jun...@gm... > http://jj-blogger.blogspot.com > Twitter ID: javajuneau > > > On Fri, Aug 7, 2009 at 2:20 PM, <rec...@gm...> wrote: > >> Thanks Josh and Cliff, >> >> Still no joy with the standard PyServlet method but I've got the object >> factory version working fine. >> >> Cheers >> > > |
From: Cliff H. <xl...@da...> - 2009-08-09 01:08:13
|
Something that might be good to consider is maybe a way to use the undocumented org.python.modules.zipimport or something like that to load the Jython library as a single zip file, mainly because of the file limit in GAE. On Sat, Aug 8, 2009 at 12:31 PM, Josh Juneau <jun...@gm...> wrote: > I've updated the simple Jython Google App Engine application that I'm using > for the upcoming Jython book. Everything you need to learn how to use > Jython servlets with the Google App Engine can be found here: > http://jythongae.appspot.com/ > Hope this is useful for anyone trying to use the GAE. > > Best > > Josh Juneau > jun...@gm... > http://jj-blogger.blogspot.com > Twitter ID: javajuneau > > > On Fri, Aug 7, 2009 at 2:46 PM, Josh Juneau <jun...@gm...> wrote: > >> Glad to hear that you got it working using the object factory technique. >> That is the route I use as well. Hopefully some future release of the app engine will work with PyServlet, but I'm sticking with object factories for now. >> Also, a big thanks to Cliff for getting me to work in the Eclipse >> environment so I could document that as well. >> Best to you >> >> Josh Juneau >> jun...@gm... >> http://jj-blogger.blogspot.com >> Twitter ID: javajuneau >> >> >> On Fri, Aug 7, 2009 at 2:20 PM, <rec...@gm...> wrote: >> >>> Thanks Josh and Cliff, >>> >>> Still no joy with the standard PyServlet method but I've got the object >>> factory version working fine. >>> >>> Cheers >>> >> >> > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users > > -- "I'm not responcabel fer my computer's spleling errnors" - Xlorep DarkHelm Website: http://darkhelm.org |