[appengine-java] Re: updating object doesn't work anymore
Did you find solution for that problem? On Nov 16, 5:38 pm, randal wrote: > Anyone? -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
[appengine-java] Re: JDO not saved (commit) when using spring @ModelAttribute
Thanks for your response But I didn't get any exception that the persistenceManager connection is closed It just didn't save without giving any errors and persistenceManager's detachCopy also didn't save On Nov 17, 2:16 am, Rusty Wright wrote: > Forgot to add; here's how I used it in my web.xml: > > > > OpenPersistenceManagerInViewFilter > > > > > org.springframework.orm.jdo.support.OpenPersistenceManagerInViewFilter > > > > > > OpenPersistenceManagerInViewFilter > > > /* > > > The other thing you could do is use the persistenceManager's detachCopy > method on anything you're sending out to the web view layer. > > > > Ibrahim Hamza wrote: > > Dear All > > I useJDO with spring > > and when i add @ModelAttribute("countries") > > All things go fine except the data notsavedwithout any exception > > When query from another datastore > > > @Controller > > public class PortController { > > > private static final String FORM_MODEL_KEY = "ports"; > > > private static final String FORM_UPDATE_KEY = "port/Edit"; > > > private static final String REDIRECT_LIST_VIEW_KEY = "redirect:/port/ > > home.htm" ; > > > @Autowired > > private PortDAO portDAO; > > @Autowired > > private CountryDAO countryDAO; > > > public PortController() {} > > > @InitBinder > > protected void initBinder(HttpServletRequest request, > > ServletRequestDataBinder binder) throws Exception { > > binder.registerCustomEditor(String.class, new > > StringTrimmerEditor(false)); > > binder.registerCustomEditor > > (com.xesolution.domain.Country.class, new CountryEditor(countryDAO)); > > > } > > > @RequestMapping(value="/port/home.htm") > > public ModelMap list() { > > return new ModelMap(FORM_MODEL_KEY,portDAO.readAll()); > > } > > @RequestMapping(value="/port/new.htm") > > public ModelAndView create(){ > > Port port = new Port(); > > return new ModelAndView(FORM_UPDATE_KEY,FORM_MODEL_KEY,port); > > } > > �...@requestmapping(value="/port/update.htm") > > public ModelAndView update(@RequestParam("id") String id) { > > Port result = portDAO.read(id); > > return new ModelAndView(FORM_UPDATE_KEY,FORM_MODEL_KEY, result); > > } > > > @RequestMapping(value="/port/save.htm", method = RequestMethod.POST) > > public ModelAndView save(@ModelAttribute(FORM_MODEL_KEY) Port port, > > BindingResult result, SessionStatus status) { > > > new PortValidator().validate(port, result); > > if (result.hasErrors()) > > { > > return new ModelAndView(FORM_UPDATE_KEY, FORM_MODEL_KEY, > > port); > > } > > else > > { > > portDAO.persist(port); > > return new ModelAndView(FORM_UPDATE_KEY, FORM_MODEL_KEY, port); > > return new ModelAndView(REDIRECT_LIST_VIEW_KEY, list()); > > } > > } > > > �...@modelattribute("countries") > > public List populateCountry() { > > //this make data notsaved > > return countryDAO.readAll(); > > //But this make the datasaved > > //return portDAO.readAll(); > > } > > > public void setPortDAO(PortDAO portDAO) { > > this.portDAO = portDAO; > > } > > } > > and this is jsp line which display the form select > > > itemValue="id"/> > > > -- > > > You received this message because you are subscribed to the Google Groups > > "Google App Engine for Java" group. > > To post to this group, send email to google-appengine-j...@googlegroups.com. > > To unsubscribe from this group, send email to > > google-appengine-java+unsubscr...@googlegroups.com. > > For more options, visit this group > > athttp://groups.google.com/group/google-appengine-java?hl=. -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
[appengine-java] Re: Duplicate incoming emails?
Hi Ikai, Thanks for the follow up. I can't say for sure, and the following is my crystal ball guess of what's happening. The problem only occurred when I was developing my email webhook. It has since stopped happening (I think). When developing my webhook, often I had exceptions thrown as a result of not parsing the Multiparts correctly. On the surface, it looks like when an exception is thrown, the email is marked as undelivered and AppEngine retries to send again later. This is further complicated when on some requests, I was processing a plain text email as a MultiPart email, which resulted in OutOfMemoryErrors. Due to the high CPU usage, AppEngine temporarily shuts down my app. Not sure what happens next, but it would appear the SMTP server retries whilst my app is down/suspended or otherwise broken and ends up failing to deliver each time. Something gets out of sync then, because it would build up a backlog of failed deliveries and retries for each failed delivery! The other side effect was my app would never stay up - AppEngine would restart it and then it would immediately get shut down again (due to the high CPU usage from the OutOfMemoryErrors). Once I fixed my code, I noticed lots of repeated emails coming through (and getting processed/saved to the datastore). I let it run for several hours for it to clear the backlog of emails. It has since stopped delivering these dups. Does this make sense? Plausible? Prior to using AppEngine's inbound mail funtionality, I was using http://smtp2web.com which had a nice feature in that if an exception is thrown when calling the webhook, it would send a bounce email to the sender and stop trying. This was nice I thought because there was user feedback that the mail didn't get through. Your thoughts? dave AppEngine may opt to suspend the app (eg due to high CPU usage). This in turn could be signalling to the SMTP server that the mail delivery has failed and signal it to try again later. However, what gets placed in the queue may be a duplicate, so there might be a reference to two copies of the same email that needs to be delivered. After a certain timeout, AppEngine restarts the app, which fails to restart properly because it immediately fails again due to the email resend. This is further complicated if a new version is deployed with changes to the email webhook - so some requests would succeed and others fail. On Nov 19, 8:35 am, "Ikai L (Google)" wrote: > Hi Dave, > > Have you had any luck reproducing this? If so, what did you do? > > > > > > On Tue, Nov 17, 2009 at 4:45 AM, Dave Cheong wrote: > > Hi all, > > > I'm observing a situation where my email webhook (/_ah/mail/*) is > > being invoked multiple times (seemingly randomly) for a given email. > > Not sure the pattern, but I'm definitely seeing log messages with the > > same email content multiple times, in no particular order or pattern. > > > I'm not sure if a red herring, but it does appear to be somewhat > > related to the fact that I am deploying new versions and restarting > > the app constantly, as I tweak my code which handles the inbound > > email. > > > Has anyone observed this behaviour? Can someone in Google help > > diagnose why my email webhook is being called repeatedly? > > > Any help is appreciated. > > > thanks, > > dave > > > -- > > > You received this message because you are subscribed to the Google Groups > > "Google App Engine for Java" group. > > To post to this group, send email to > > google-appengine-j...@googlegroups.com. > > To unsubscribe from this group, send email to > > google-appengine-java+unsubscr...@googlegroups.com > unsubscr...@googlegroups.com> > > . > > For more options, visit this group at > >http://groups.google.com/group/google-appengine-java?hl=. > > -- > Ikai Lan > Developer Programs Engineer, Google App Engine -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
[appengine-java] Re: JDO not saved (commit) when using spring @ModelAttribute
> But I didn't get any exception that the persistenceManager connection > is closed. It just didn't save without giving any errors And you looked at the log, at DEBUG level, didn't you? > and persistenceManager's detachCopy also didn't save Please look at the javadocs for detachCopy and consider why it should possibly "save". -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
[appengine-java] Re: GAE status / availalbility problems?
Diana, I cannot talk for Google but I suppose you cannot _require_ as an obligation that Google fixes your own bugs. If Dimitry is able to identify a bug in GAE, he should point it out and the GAE folks will address it. Other than that, you are subject to a "bona fide" effort, which may not be what you are looking for. In that case, you should look for paid support (there are third parties that offer such services). Just a heads up. Nacho (not from Google) On Nov 19, 8:35 am, Diana Cruise wrote: > Excellent news. How long did it take to resolve this matter and what > was the impact to your Users? > > I assume you would agree we could avoid this type of problem by only > using the data types listed here right? > > http://code.google.com/appengine/docs/java/datastore/dataclasses.html... > > On Nov 18, 3:27 pm, Dmitry Anipko wrote: > > > Thanks Jason for help. In our case the problem was caused by usage of > > byte[] field in a persisted class. Somehow though, it wasn't causing > > any problems immediately, but only after a few objects have been > > saved. Per Jason, usage of byte[] in JDO on GAE isn't supported. > > > On Wed, Nov 18, 2009 at 1:00 PM, Diana Cruise > > wrote: > > > What's the latest here Dmitry...can GAE handle more than 100 request > > > or not? Please update where you are with this problem. Thanks. > > > > On Nov 9, 5:15 pm, Dmitry Anipko wrote: > > >> Following up offline and will update with resolution later. > > > >> On Mon, Nov 9, 2009 at 9:50 AM, Jason (Google) > > >> wrote: > > >> > As always, I need your application ID in order to help troubleshoot > > >> > app-specific issues. Please provide that and any stack traces or other > > >> > error > > >> > messages you see in your application's logs. > > > >> > - Jason > > > >> > On Fri, Nov 6, 2009 at 9:47 PM, Dmitry Anipko > > >> > wrote: > > > >> >> After some more experimentation, it looks like there is something in > > >> >> the data store that is surfaced by our application: > > > >> >> if I clean up the store for the application completely, using the web > > >> >> interface, then for the first ~100 request it works fine, but after > > >> >> some time, it starts producing those errors I wrote before - it can't > > >> >> query objects by index (and that problem persists until I clean the > > >> >> store again). > > > >> >> The second observation - although I don't know if it is related or not > > >> >> - is when the store for my app is in such state, and I try to view > > >> >> objects through the web interface, the web interfaces crashes with the > > >> >> error 500: > > > >> >> Server Error > > >> >> A server error has occurred. > > > >> >> Return to Applications screen » > > > >> >> GAE folks, can someone please take a look - this is a blocking issue > > >> >> for my team, and I don't know how to proceed here without your help. > > > >> >> Everything works just fine when I run it on a local development > > >> >> server. > > > >> >> Thank you. > > > >> >> On Nov 6, 11:05 am, Diana Cruise wrote: > > >> >> > I see NO reply from GAE here regarding such a critical issue!!! > > > >> >> > Is your app still down, what is the status of your app? How are we > > >> >> > supposed to put an application in production with GAE if such a > > >> >> > problem can occur with NO response for 3 days? Is there another > > >> >> > channel to raise such high-priority issues to get proper helpdesk > > >> >> > response? > > > >> >> > On Nov 4, 1:58 am, Dmitry Anipko wrote: > > > >> >> > > It is 11:56 Pacific 11/3/2009, are there any known issues withGAE > > >> >> > > right now? > > > >> >> > > My application that has been working for a couple of months now > > >> >> > > today > > >> >> > > started producing failures for some queries from the data store > > >> >> > > (basically an object which has just been stored cannot be > > >> >> > > retrieved > > >> >> > > after that by key), and after some time started producing even > > > >> >> > > > > >> >> > > > > >> >> > > 500 Server Error > > >> >> > > > > >> >> > > > > >> >> > > Error: Server Error > > >> >> > > The server encountered an error and could not complete your > > >> >> > > request.If the problem persists, please report your problem and > > >> >> > > mention this error message and the query that caused it. > > >> >> > > > > >> >> > > > > > >> >> > > The same application executes just fine in the localGAEdevelopment > > >> >> > > environment. Can folks fromGAEcomment if there is any maintenance > > >> >> > > going on right now or how could I get more details on what > > >> >> > > causing the > > >> >> > > failures (again the same code worked for quite some time now, so I > > >> >> > > think it is unlikely the code is the issue here). Thanks for your > > >> >> > > help.- Hide quoted text - > > > >> >> > - Show quoted text -- Hide quoted text - > > > >> - Show quoted text - > > > > -- > > > > You received this message because you are subscribed to the Google Groups > > > "Goog
[appengine-java] Re: Contact Sharing
I've developed an application to share your domain contacts: http://www.google.com/enterprise/marketplace/viewListing?productListingId=5578829+5319719112092419985 On 13 Nov., 21:19, Josh wrote: > Is it possible for a user in a domain to create group of contacts and > share that group with other select user(s) in a domain? I haven't > found anything to suggest that it is, but I just want to make sure. -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
Re: [appengine-java] Re: Xalan
It seems that the classes of the JSTL are loaded by a different classloader than the webapp classloader. Because this class loader does not have xalan in place, it fails. Could you please add xalan to the classpath of this classloder? (If i do this in the eclipse plugin, it works, but only in the local dev environment of course). I added this as a comment on issue 2180. Regards, Stephan metamesh schrieb: > Hi, > > I have the same problem when using the xml tags of jstl with appengine > 1.2.6. > > I also tried to put the missing class into the WEB-INF/classes/... > folder but still no success. > > Note that > http://code.google.com/p/googleappengine/issues/detail?id=2180 > has not a fix but only verifies that the class > org.apache.xpath.VariableStack is available at compile time but not at > run time. > > Regards, > Stephan > > > On Oct 5, 7:18 pm, "Jason (Google)" wrote: > >> Can you confirm that the tip >> inhttp://code.google.com/p/googleappengine/issues/detail?id=2180(see the >> second comment) works for you? >> >> - Jason >> >> On Wed, Sep 30, 2009 at 9:17 AM, Maniacs wrote: >> >> >>> I tried to use JSTL xml tags and I got the following >>> exception :java.lang.NoClassDefFoundError: org/apache/xpath/ >>> VariableStack >>> >>> However, I put in WEB-INF/lib the file xalan.jar. >>> >>> Is xalan incompatible with app-engine ? >>> >>> Regards >>> > > -- > > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to google-appengine-j...@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine-java+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > > > > -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
Re: [appengine-java] Re: Configuring JSF 2.0 to run on Google App Engine
Probably you will have to do a little 'hack' in Mojarra, because It attemp to call some JNDI lookup in the initialization. I did it some weeks ago. http://jsfgae.appspot.com/ Rafael andyz wrote: > Denden, > I have the same problem as you. > I found the root cause. > The library jsf-impl.jar you(and I ) is in downloaded zip file: > mojarra-2.0.0-FCS-binary.zip. > if you open jsf-impl.jar, there is a file: META-INF/taglib/ > ui.taglib.xml. > at the end of this file: > remove > > handler-class is NOT defined,this causes a problem and throw NPE > > Once I replaced with mojarra-2.0.1, > then It's OK. > > Andy > On Nov 17, 2:24 am, Denden Gajudo wrote: > >> I'm attempting to configure JSF 2.0 to run on Google App Engine using >> the following setup: >> >> Apache Xalan-J 2.9.0 >> Google AppEngine for Java SDK v1.2.5 >> Sun Java ServerFaces 2.0 FCS >> Unified Expression Language 1.1 API (el-api-1.1.jar) and >> Implementation (el-impl-1.1jar) >> >> I followed the procedure indicated >> inhttp://java.wildstartech.com/Java-Platform-Enterpr...to-run-on-the-go... >> >> However, I am getting the following errors on startup. I was wondering >> if anyone has experienced this problem. >> >> WARNING: Failed startup of context >> com.google.apphosting.utils.jetty.devappenginewebappcont...@14b081b >> {/,C:\workspace\JSFTemplate\war} >> com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! >> null >> at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java: >> 354) >> at com.sun.faces.config.ConfigureListener.contextInitialized >> (ConfigureListener.java:219) >> at org.mortbay.jetty.handler.ContextHandler.startContext >> (ContextHandler.java:530) >> at org.mortbay.jetty.servlet.Context.startContext(Context.java:135) >> at org.mortbay.jetty.webapp.WebAppContext.startContext >> (WebAppContext.java:1218) >> at org.mortbay.jetty.handler.ContextHandler.doStart >> (ContextHandler.java:500) >> at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java: >> 448) >> at org.mortbay.component.AbstractLifeCycle.start >> (AbstractLifeCycle.java:40) >> at org.mortbay.jetty.handler.HandlerWrapper.doStart >> (HandlerWrapper.java:117) >> at org.mortbay.component.AbstractLifeCycle.start >> (AbstractLifeCycle.java:40) >> at org.mortbay.jetty.handler.HandlerWrapper.doStart >> (HandlerWrapper.java:117) >> at org.mortbay.jetty.Server.doStart(Server.java:217) >> at org.mortbay.component.AbstractLifeCycle.start >> (AbstractLifeCycle.java:40) >> at >> com.google.appengine.tools.development.JettyContainerService.startContainer >> (JettyContainerService.java:152) >> at >> com.google.appengine.tools.development.AbstractContainerService.startup >> (AbstractContainerService.java:116) >> at com.google.appengine.tools.development.DevAppServerImpl.start >> (DevAppServerImpl.java:218) >> at com.google.appengine.tools.development.DevAppServerMain >> $StartAction.apply(DevAppServerMain.java:162) >> at com.google.appengine.tools.util.Parser$ParseResult.applyArgs >> (Parser.java:48) >> at com.google.appengine.tools.development.DevAppServerMain. >> (DevAppServerMain.java:113) >> at com.google.appengine.tools.development.DevAppServerMain.main >> (DevAppServerMain.java:89) >> Caused by: java.lang.NullPointerException >> at com.sun.faces.util.Util.loadClass(Util.java:200) >> at com.sun.faces.config.processor.AbstractConfigProcessor.loadClass >> (AbstractConfigProcessor.java:312) >> at >> com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processHandlerClass >> (FaceletTaglibConfigProcessor.java:416) >> at >> com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTags >> (FaceletTaglibConfigProcessor.java:370) >> at >> com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTagLibrary >> (FaceletTaglibConfigProcessor.java:313) >> at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.process >> (FaceletTaglibConfigProcessor.java:262) >> at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java: >> 337) >> ... 19 more >> >> Any assistance is much appreciated. Thanks. >> > > -- > > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to google-appengine-j...@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine-java+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > > > -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
[appengine-java] Re: batik
I tried to make SVG to PNG converter, but didn't succeed. There seems to be lot of libraries that are not supported (or allowed to use) with app engine. Batik uses java.awt, which is not supported. I also had some problem with threads... java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup) at java.security.AccessControlContext.checkPermission (AccessControlContext.java:342) at java.security.AccessController.checkPermission (AccessController.java:553) at java.lang.SecurityManager.checkPermission(SecurityManager.java: 549) at com.google.appengine.tools.development.DevAppServerFactory $CustomSecurityManager.checkPermission(DevAppServerFactory.java:151) at com.google.appengine.tools.development.DevAppServerFactory $CustomSecurityManager.checkAccess(DevAppServerFactory.java:176) at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:304) at java.lang.Thread.init(Thread.java:349) at java.lang.Thread.(Thread.java:436) at org.apache.batik.util.CleanerThread.(CleanerThread.java:96) at org.apache.batik.util.CleanerThread.getReferenceQueue (CleanerThread.java:45) ... So, I decide to wait that Google will whitelist some more libraries. -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
[appengine-java] IOException on uploading app
heya, i'm quite (well, very) new to the google app engine and am just trying to upload a very basic start to the project i'm working on. however, when i try to upload (either using the plugin for eclipse or through appcfg.cmd) i get the error: An internal error occurred during: "Deploying ConferenceCloud to Google". Received IOException parsing the input stream for C:/Users/dave/ workspace/ConferenceCloud/war\WEB-INF/web.xml i havent edited the web.xml file, leaving it as it was when i created the project in eclipse has anyone encountered this before or knows how to solve it? thanks, david -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
[appengine-java] Error with Blob
I am getting the following error with very specific conditions: "java.lang.IllegalArgumentException: out of field index" on startup of the development environment. The conditions are: -- I have a parent entity which is defined as a @MappedSuperclass. It contains just a Long and Date values. The Long is the primary key for all inherited objects. -- Any object has a field defined as a google Blob field. -- datanucleus-gae-plugin release 1.0.3 The 1.0.4rc1 posted on the list (used to test inheritance) solves the problem. Since I will be needing Blobs, can you provide any guidance on when the 1.0.4 will be in a general release. Tim -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
[appengine-java] javax.jdo.JDOObjectNotFoundException: Could not retrieve entity of kind Transactions with key Transactions(Transactions(67))
I'm trying to delete a record and having some trouble. When a delete button is pushed on a jsp, the key associated with the delete button is being passed to a servlet (the delete button is attached to a list of Transactions). But, I get an exception on this code: Transactions trans = pm.getObjectById(Transactions.class, parms.replace ("delete", "")); pm.deletePersistent(trans); Not sure what I'm missing here... -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
[appengine-java] Re: javax.jdo.JDOObjectNotFoundException: Could not retrieve entity of kind Transactions with key Transactions(Transactions(67))
> Not sure what I'm missing here... Putting the correct identity "key" in ? -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
Re: [appengine-java] 500 Internal Server Error, when update appl
Does it work now, or did it stop working at some point? On Wed, Nov 18, 2009 at 9:45 PM, Jackob wrote: > - aapcore > - appengine-java-sdk-1.2.6 > - Win XP > - Several first times it was work fine > - no proxy > > On Wed, Nov 18, 2009 at 11:42 PM, Ikai L (Google) wrote: > >> What is your app ID? Can you also provide the following details: >> >> - application ID >> - SDK version. Also include whether it is Python or Java >> - Operating System >> - Whether this is the first push or not >> - Are you behind a proxy? >> >> As much information as you can give me would be helpful. >> >> >> On Mon, Nov 16, 2009 at 10:25 PM, Jackob wrote: >> >>> The problem is not fixed , i can't upload update. >>> The happened only with my account? >>> >>> >>> On Mon, Nov 16, 2009 at 11:59 PM, Ikai L (Google) wrote: >>> Have you been able to update this application? On Wed, Nov 11, 2009 at 11:53 PM, Jackroz wrote: > Hi Team, > > Last two day i can't update appl, what is wrong? > > Please see detail log: > > Unable to update: > java.io.IOException: Error posting to URL: > > http://appengine.google.com/api/appversion/cloneblobs?app_id=aapcore&version=2&; > 500 Internal Server Error > > Server Error (500) > A server error has occurred. > >at com.google.appengine.tools.admin.ServerConnection.send > (ServerConnection.java:143) >at com.google.appengine.tools.admin.ServerConnection.post > (ServerConnection.java:81) >at com.google.appengine.tools.admin.AppVersionUpload.send > (AppVersionUpload.java:427) >at com.google.appengine.tools.admin.AppVersionUpload.cloneFiles > (AppVersionUpload.java:293) >at > com.google.appengine.tools.admin.AppVersionUpload.beginTransaction > (AppVersionUpload.java:255) >at com.google.appengine.tools.admin.AppVersionUpload.doUpload > (AppVersionUpload.java:98) >at com.google.appengine.tools.admin.AppAdminImpl.update > (AppAdminImpl.java:56) >at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute > (AppCfg.java:521) >at > com.google.appengine.tools.admin.AppCfg.(AppCfg.java:130) >at > com.google.appengine.tools.admin.AppCfg.(AppCfg.java:58) >at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:54) > com.google.appengine.tools.admin.AdminException: Unable to update app: > Error posting to URL: > http://appengine.google.com/api/appversion/cloneblobs?app_id=aapcore&version=2&; > 500 Internal Server Error > > Server Error (500) > A server error has occurred. > >at com.google.appengine.tools.admin.AppAdminImpl.update > (AppAdminImpl.java:62) >at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute > (AppCfg.java:521) >at > com.google.appengine.tools.admin.AppCfg.(AppCfg.java:130) >at > com.google.appengine.tools.admin.AppCfg.(AppCfg.java:58) >at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:54) > Caused by: java.io.IOException: Error posting to URL: > > http://appengine.google.com/api/appversion/cloneblobs?app_id=aapcore&version=2&; > 500 Internal Server Error > > Server Error (500) > A server error has occurred. > >at com.google.appengine.tools.admin.ServerConnection.send > (ServerConnection.java:143) >at com.google.appengine.tools.admin.ServerConnection.post > (ServerConnection.java:81) >at com.google.appengine.tools.admin.AppVersionUpload.send > (AppVersionUpload.java:427) >at com.google.appengine.tools.admin.AppVersionUpload.cloneFiles > (AppVersionUpload.java:293) >at > com.google.appengine.tools.admin.AppVersionUpload.beginTransaction > (AppVersionUpload.java:255) >at com.google.appengine.tools.admin.AppVersionUpload.doUpload > (AppVersionUpload.java:98) >at com.google.appengine.tools.admin.AppAdminImpl.update > (AppAdminImpl.java:56) >... 4 more > > > -- > > You received this message because you are subscribed to the Google > Groups "Google App Engine for Java" group. > To post to this group, send email to > google-appengine-j...@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine-java+unsubscr...@googlegroups.com > . > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=. > > > -- Ikai Lan Developer Programs Engineer, Google App Engine -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this
Re: [appengine-java] Re: Duplicate incoming emails?
Interesting. This is great information and gets us that much closer to being able to deterministically reproduce the error. I'm pretty sure I've seen this before myself, but it was a one off issue. I'll see if I can reproduce this. On Thu, Nov 19, 2009 at 12:50 AM, Dave Cheong wrote: > Hi Ikai, > > Thanks for the follow up. I can't say for sure, and the following is > my crystal ball guess of what's happening. > > The problem only occurred when I was developing my email webhook. It > has since stopped happening (I think). When developing my webhook, > often I had exceptions thrown as a result of not parsing the > Multiparts correctly. On the surface, it looks like when an exception > is thrown, the email is marked as undelivered and AppEngine retries to > send again later. > > This is further complicated when on some requests, I was processing a > plain text email as a MultiPart email, which resulted in > OutOfMemoryErrors. Due to the high CPU usage, AppEngine temporarily > shuts down my app. Not sure what happens next, but it would appear the > SMTP server retries whilst my app is down/suspended or otherwise > broken and ends up failing to deliver each time. Something gets out of > sync then, because it would build up a backlog of failed deliveries > and retries for each failed delivery! > > The other side effect was my app would never stay up - AppEngine would > restart it and then it would immediately get shut down again (due to > the high CPU usage from the OutOfMemoryErrors). > > Once I fixed my code, I noticed lots of repeated emails coming through > (and getting processed/saved to the datastore). I let it run for > several hours for it to clear the backlog of emails. It has since > stopped delivering these dups. > > Does this make sense? Plausible? > > Prior to using AppEngine's inbound mail funtionality, I was using > http://smtp2web.com which had a nice feature in that if an exception > is thrown when calling the webhook, it would send a bounce email to > the sender and stop trying. This was nice I thought because there was > user feedback that the mail didn't get through. > > Your thoughts? > > dave > > AppEngine may opt to suspend the app (eg due to high CPU usage). This > in turn could be signalling to the SMTP server that the mail delivery > has failed and signal it to try again later. However, what gets placed > in the queue may be a duplicate, so there might be a reference to two > copies of the same email that needs to be delivered. > > After a certain timeout, AppEngine restarts the app, which fails to > restart properly because it immediately fails again due to the email > resend. This is further complicated if a new version is deployed with > changes to the email webhook - so some requests would succeed and > others fail. > > > > On Nov 19, 8:35 am, "Ikai L (Google)" wrote: > > Hi Dave, > > > > Have you had any luck reproducing this? If so, what did you do? > > > > > > > > > > > > On Tue, Nov 17, 2009 at 4:45 AM, Dave Cheong > wrote: > > > Hi all, > > > > > I'm observing a situation where my email webhook (/_ah/mail/*) is > > > being invoked multiple times (seemingly randomly) for a given email. > > > Not sure the pattern, but I'm definitely seeing log messages with the > > > same email content multiple times, in no particular order or pattern. > > > > > I'm not sure if a red herring, but it does appear to be somewhat > > > related to the fact that I am deploying new versions and restarting > > > the app constantly, as I tweak my code which handles the inbound > > > email. > > > > > Has anyone observed this behaviour? Can someone in Google help > > > diagnose why my email webhook is being called repeatedly? > > > > > Any help is appreciated. > > > > > thanks, > > > dave > > > > > -- > > > > > You received this message because you are subscribed to the Google > Groups > > > "Google App Engine for Java" group. > > > To post to this group, send email to > > > google-appengine-j...@googlegroups.com. > > > To unsubscribe from this group, send email to > > > google-appengine-java+unsubscr...@googlegroups.com unsubscr...@googlegroups.com> > > > . > > > For more options, visit this group at > > >http://groups.google.com/group/google-appengine-java?hl=. > > > > -- > > Ikai Lan > > Developer Programs Engineer, Google App Engine > > -- > > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to > google-appengine-j...@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine-java+unsubscr...@googlegroups.com > . > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=. > > > -- Ikai Lan Developer Programs Engineer, Google App Engine -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsu
[appengine-java] Re: URLfetch 406 response
Great I've setted user agent in url fetch and all urlfecthes works now! .. URL url = new URL(link); HttpURLConnection connection=(HttpURLConnection)url.openConnection(); connection.setRequestProperty ( "User-agent", "Mozilla/4.0 ( compatible ) "); Thanks again Ciao Vincenzo On 13 Nov, 22:54, "Ikai L (Google)" wrote: > Vincenzo, > > HTTP 406 usually results from the HTTP client "Accepts*" header. This is > documented here: > > http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.htmlhttp://www.checkupdown.com/status/E406.html > > You'll want to check what headers you are setting as well as the headers for > the URL you are trying to fetch to see if they match up. > > On Wed, Nov 11, 2009 at 3:12 AM, vincenzo amoruso < > > > > > > vincenzo.amor...@gmail.com> wrote: > > Greetings to All, > > > I'm trying to use urlfetch connection form GAE, > > but on any sites http response status gives 406. > > Could be http headers insue? > > Any ideas? > > > Thanks in advance. > > > Vincenzo > > > -- > > > You received this message because you are subscribed to the Google Groups > > "Google App Engine for Java" group. > > To post to this group, send email to > > google-appengine-j...@googlegroups.com. > > To unsubscribe from this group, send email to > > google-appengine-java+unsubscr...@googlegroups.com > > . > > For more options, visit this group at > >http://groups.google.com/group/google-appengine-java?hl=. > > -- > Ikai Lan > Developer Programs Engineer, Google App Engine- Nascondi testo citato > > - Mostra testo citato - -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
[appengine-java] Velocity Template reading error : java.security.AccessControlException: access denied (java.io.FilePermission
Hi to all, i'm try to use Apache velocity template for mailing, using the following code VelocityEngine ve = new VelocityEngine(); try { ve.setProperty("resource.loader", "file"); ve.setProperty ("file.resource.loader.class","org.apache.velocity.runtime.resource.loader.FileResourceLoader"); ve.setProperty("file.resource.loader.path","/template/email/"); ve.setProperty( RuntimeConstants.RUNTIME_LOG_LOGSYSTEM_CLASS, "org.apache.velocity.runtime.log.Log4JLogChute" ); ve.setProperty("runtime.log.logsystem.log4j.logger", log.getName()); // ve.setApplicationAttribute ("javax.servlet.ServletContext",this.servlet.getServletContext()); ve.init(); } catch (Exception e1) { // TODO Auto-generated catch block log.warning("EI:"+e1.getMessage()); } VelocityContext context = new VelocityContext(); Template template = null; try { template = ve.getTemplate("mail1.vm"); } . But at runtime gives this exception : 11-19 10:44AM 33.316 [wincheck123/4.337839622240022599].: [error] ResourceManager.getResource() load exception W 11-19 10:44AM 33.316 [wincheck123/4.337839622240022599].: access denied (java.io.FilePermission /template/email/mail1.vm read) W 11-19 10:44AM 33.316 [wincheck123/4.337839622240022599].: java.security.AccessControlException: access denied (java.io.FilePermission /template/email/mail1.vm W 11-19 10:44AM 33.316 [wincheck123/4.337839622240022599].: at java.security.AccessControlContext.checkPermission (AccessControlContext.java:355) .. Are there some security configuration to set for reading files on appengine? such as security policy or others Thank in advance Regards Vincenzo -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
Re: [appengine-java] Re: GAE status / availalbility problems?
Nacho, I don't want to argue either side, but there are some gray areas: in this case, the feature that we tried to use wasn't supported, but I don't believe that it is clearly documented, nor the behavior of the APIs and the web interface were exactly helpful for developers. Whatever the application does, ideally it should not lead to the admin console crashing with HTTP 500 error code. If it is crashes, it is clearly a bug on GAE side - but is it critical/blocking, if we know what caused it to be surfaced and we know alternate approach? Definitely no. The same is about exception APIs returned when we tried to query those objects from the DB: was the exception very helpful? No. But thanks to Jason from Google, we found out the reason for the exception and worked around, so our problem was solved although of course again - not informative exception is a bug in API (just as the fact that some objects can be stored but not retrieved), and ideally it should be fixed in future, but it's not blocking to us. My point is, there are bugs on GAE side, but I don't have expectations that all of them will be fixed - I hope just that those which cannot be reasonably worked around, will be fixed :) On Thu, Nov 19, 2009 at 1:20 AM, Nacho Coloma wrote: > Diana, I cannot talk for Google but I suppose you cannot _require_ as > an obligation that Google fixes your own bugs. > > If Dimitry is able to identify a bug in GAE, he should point it out > and the GAE folks will address it. Other than that, you are subject to > a "bona fide" effort, which may not be what you are looking for. In > that case, you should look for paid support (there are third parties > that offer such services). > > Just a heads up. > > Nacho (not from Google) > > On Nov 19, 8:35 am, Diana Cruise wrote: >> Excellent news. How long did it take to resolve this matter and what >> was the impact to your Users? >> >> I assume you would agree we could avoid this type of problem by only >> using the data types listed here right? >> >> http://code.google.com/appengine/docs/java/datastore/dataclasses.html... >> >> On Nov 18, 3:27 pm, Dmitry Anipko wrote: >> >> > Thanks Jason for help. In our case the problem was caused by usage of >> > byte[] field in a persisted class. Somehow though, it wasn't causing >> > any problems immediately, but only after a few objects have been >> > saved. Per Jason, usage of byte[] in JDO on GAE isn't supported. >> >> > On Wed, Nov 18, 2009 at 1:00 PM, Diana Cruise >> > wrote: >> > > What's the latest here Dmitry...can GAE handle more than 100 request >> > > or not? Please update where you are with this problem. Thanks. >> >> > > On Nov 9, 5:15 pm, Dmitry Anipko wrote: >> > >> Following up offline and will update with resolution later. >> >> > >> On Mon, Nov 9, 2009 at 9:50 AM, Jason (Google) >> > >> wrote: >> > >> > As always, I need your application ID in order to help troubleshoot >> > >> > app-specific issues. Please provide that and any stack traces or >> > >> > other error >> > >> > messages you see in your application's logs. >> >> > >> > - Jason >> >> > >> > On Fri, Nov 6, 2009 at 9:47 PM, Dmitry Anipko >> > >> > >> > >> > wrote: >> >> > >> >> After some more experimentation, it looks like there is something in >> > >> >> the data store that is surfaced by our application: >> >> > >> >> if I clean up the store for the application completely, using the web >> > >> >> interface, then for the first ~100 request it works fine, but after >> > >> >> some time, it starts producing those errors I wrote before - it can't >> > >> >> query objects by index (and that problem persists until I clean the >> > >> >> store again). >> >> > >> >> The second observation - although I don't know if it is related or >> > >> >> not >> > >> >> - is when the store for my app is in such state, and I try to view >> > >> >> objects through the web interface, the web interfaces crashes with >> > >> >> the >> > >> >> error 500: >> >> > >> >> Server Error >> > >> >> A server error has occurred. >> >> > >> >> Return to Applications screen » >> >> > >> >> GAE folks, can someone please take a look - this is a blocking issue >> > >> >> for my team, and I don't know how to proceed here without your help. >> >> > >> >> Everything works just fine when I run it on a local development >> > >> >> server. >> >> > >> >> Thank you. >> >> > >> >> On Nov 6, 11:05 am, Diana Cruise wrote: >> > >> >> > I see NO reply from GAE here regarding such a critical issue!!! >> >> > >> >> > Is your app still down, what is the status of your app? How are we >> > >> >> > supposed to put an application in production with GAE if such a >> > >> >> > problem can occur with NO response for 3 days? Is there another >> > >> >> > channel to raise such high-priority issues to get proper helpdesk >> > >> >> > response? >> >> > >> >> > On Nov 4, 1:58 am, Dmitry Anipko wrote: >> >> > >> >> > > It is 11:56 Pacific 11/3/2009, are there any known issues withGAE >> > >> >> > > r
Re: [appengine-java] Re: GAE status / availalbility problems?
After Jason replied, it took a day or so. Thank you for pointing that out, yes I think we can agree on that :) On Wed, Nov 18, 2009 at 11:35 PM, Diana Cruise wrote: > Excellent news. How long did it take to resolve this matter and what > was the impact to your Users? > > I assume you would agree we could avoid this type of problem by only > using the data types listed here right? > > http://code.google.com/appengine/docs/java/datastore/dataclasses.html#Core_Value_Types > > > On Nov 18, 3:27 pm, Dmitry Anipko wrote: >> Thanks Jason for help. In our case the problem was caused by usage of >> byte[] field in a persisted class. Somehow though, it wasn't causing >> any problems immediately, but only after a few objects have been >> saved. Per Jason, usage of byte[] in JDO on GAE isn't supported. >> >> >> >> On Wed, Nov 18, 2009 at 1:00 PM, Diana Cruise >> wrote: >> > What's the latest here Dmitry...can GAE handle more than 100 request >> > or not? Please update where you are with this problem. Thanks. >> >> > On Nov 9, 5:15 pm, Dmitry Anipko wrote: >> >> Following up offline and will update with resolution later. >> >> >> On Mon, Nov 9, 2009 at 9:50 AM, Jason (Google) >> >> wrote: >> >> > As always, I need your application ID in order to help troubleshoot >> >> > app-specific issues. Please provide that and any stack traces or other >> >> > error >> >> > messages you see in your application's logs. >> >> >> > - Jason >> >> >> > On Fri, Nov 6, 2009 at 9:47 PM, Dmitry Anipko >> >> > wrote: >> >> >> >> After some more experimentation, it looks like there is something in >> >> >> the data store that is surfaced by our application: >> >> >> >> if I clean up the store for the application completely, using the web >> >> >> interface, then for the first ~100 request it works fine, but after >> >> >> some time, it starts producing those errors I wrote before - it can't >> >> >> query objects by index (and that problem persists until I clean the >> >> >> store again). >> >> >> >> The second observation - although I don't know if it is related or not >> >> >> - is when the store for my app is in such state, and I try to view >> >> >> objects through the web interface, the web interfaces crashes with the >> >> >> error 500: >> >> >> >> Server Error >> >> >> A server error has occurred. >> >> >> >> Return to Applications screen » >> >> >> >> GAE folks, can someone please take a look - this is a blocking issue >> >> >> for my team, and I don't know how to proceed here without your help. >> >> >> >> Everything works just fine when I run it on a local development >> >> >> server. >> >> >> >> Thank you. >> >> >> >> On Nov 6, 11:05 am, Diana Cruise wrote: >> >> >> > I see NO reply from GAE here regarding such a critical issue!!! >> >> >> >> > Is your app still down, what is the status of your app? How are we >> >> >> > supposed to put an application in production with GAE if such a >> >> >> > problem can occur with NO response for 3 days? Is there another >> >> >> > channel to raise such high-priority issues to get proper helpdesk >> >> >> > response? >> >> >> >> > On Nov 4, 1:58 am, Dmitry Anipko wrote: >> >> >> >> > > It is 11:56 Pacific 11/3/2009, are there any known issues withGAE >> >> >> > > right now? >> >> >> >> > > My application that has been working for a couple of months now >> >> >> > > today >> >> >> > > started producing failures for some queries from the data store >> >> >> > > (basically an object which has just been stored cannot be retrieved >> >> >> > > after that by key), and after some time started producing even >> >> >> >> > > >> >> >> > > >> >> >> > > 500 Server Error >> >> >> > > >> >> >> > > >> >> >> > > Error: Server Error >> >> >> > > The server encountered an error and could not complete your >> >> >> > > request.If the problem persists, please report your problem and >> >> >> > > mention this error message and the query that caused it. >> >> >> > > >> >> >> > > >> >> >> >> > > The same application executes just fine in the localGAEdevelopment >> >> >> > > environment. Can folks fromGAEcomment if there is any maintenance >> >> >> > > going on right now or how could I get more details on what causing >> >> >> > > the >> >> >> > > failures (again the same code worked for quite some time now, so I >> >> >> > > think it is unlikely the code is the issue here). Thanks for your >> >> >> > > help.- Hide quoted text - >> >> >> >> > - Show quoted text -- Hide quoted text - >> >> >> - Show quoted text - >> >> > -- >> >> > You received this message because you are subscribed to the Google Groups >> > "Google App Engine for Java" group. >> > To post to this group, send email to >> > google-appengine-j...@googlegroups.com. >> > To unsubscribe from this group, send email to >> > google-appengine-java+unsubscr...@googlegroups.com. >> > For more options, visit this group >> > athttp://groups.google.com/group/google-appengine-java?hl=en.- Hide quoted >> > text - >> >> - Show quoted tex
Re: [appengine-java] Re: Can't send mail with attachment using JavaMail API
Looks like you're right. As far as I know there are no hidden methods. Another workaround for this limitation could be to store incoming images in the data store on an incoming email, then reference them in the emails that get sent out. It's not ideal, but it may be the solution to what you are looking for. On Wed, Nov 18, 2009 at 3:36 PM, mably wrote: > I haven't found a way to set a Content-ID header on a mimebodypart/ > attachment using the low-level API. The MailService.Attachment class > is quite rudimentary (only filename and data). > > May be some part of the low level API are still undocumented ? > > Thanx for all. > > On Nov 19, 12:25 am, "Ikai L (Google)" wrote: > > That's good information to know. We are not using Sun's JavaMail > > implementation, so it's possible there are points of incompatibility. > > There's one last thing you may want to try: > > > > http://code.google.com/appengine/docs/java/javadoc/com/google/appengi... > > > > The above page documents the Low-Level API. Try creating an email object > via > > that API, setting the Content-ID of the attachment and the HTML tag to > point > > to the cid. You're already doing that in the example you sent using > > javax.mail, but I'm wondering if the low-level API is capable of doing > this. > > If not, I'll open an issue. > > > > On Wed, Nov 18, 2009 at 3:06 PM, mably wrote: > > > Of course, the code above doesn't need to be run in mail handler > > > servlet :-) > > > > > On Nov 19, 12:01 am, mably wrote: > > > > I've written a simple class sending an HTML email with an embedded > > > > image (cf. below) via GMail SMTP. It works perfectly fine when run > > > > locally from Eclipse. > > > > > > The same code in a GAE mail servlet handler produce the infamous > > > > "Converting attachment data failed" error. > > > > > > So it really seems to be a problem in GAE javamail implementation. > > > > > > /* > > > > * Copyright (C) 2009 Francois Masurel > > > > * > > > > * This program is free software: you can redistribute it and/or > > > > modify > > > > * it under the terms of the GNU General Public License as published > > > > by > > > > * the Free Software Foundation, either version 3 of the License, or > > > > * any later version. > > > > * > > > > * This program is distributed in the hope that it will be useful, > > > > * but WITHOUT ANY WARRANTY; without even the implied warranty of > > > > * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > > > * GNU General Public License for more details. > > > > * > > > > * You should have received a copy of the GNU General Public License > > > > * along with this program. If not, see < > http://www.gnu.org/licenses/>. > > > > > > */ > > > > > > import java.io.ByteArrayOutputStream; > > > > import java.io.IOException; > > > > import java.io.InputStream; > > > > import java.util.Properties; > > > > > > import javax.mail.Message; > > > > import javax.mail.Multipart; > > > > import javax.mail.Session; > > > > import javax.mail.Transport; > > > > import javax.mail.internet.InternetAddress; > > > > import javax.mail.internet.MimeBodyPart; > > > > import javax.mail.internet.MimeMessage; > > > > import javax.mail.internet.MimeMultipart; > > > > > > /** > > > > * @author Francois > > > > * > > > > */ > > > > public class GMailSMTP { > > > > > > private static final String SMTP_HOST_NAME = "smtp.gmail.com"; > > > > private static final int SMTP_HOST_PORT = 465; > > > > private static final String SMTP_AUTH_USER = "x...@gmail.com"; > > > > private static final String SMTP_AUTH_PWD = "yyy"; > > > > > > public static void main(String[] args) throws Exception{ > > > >new GMailSMTP().test(); > > > > } > > > > > > public void test() throws Exception{ > > > > Properties props = new Properties(); > > > > > > props.put("mail.transport.protocol", "smtps"); > > > > props.put("mail.smtps.host", SMTP_HOST_NAME); > > > > props.put("mail.smtps.auth", "true"); > > > > // props.put("mail.smtps.quitwait", "false"); > > > > > > String from = SMTP_AUTH_USER; > > > > String to = SMTP_AUTH_USER; > > > > String subject = "Testing SMTP-SSL"; > > > > String htmlText = "Hello"; > > > > byte[] imgData = this.obtainByteData("enveloppe.gif"); > > > > > > Session mailSession = Session.getDefaultInstance(props); > > > > mailSession.setDebug(true); > > > > > > Message msg = new MimeMessage(mailSession); > > > > msg.setFrom(new InternetAddress(from)); > > > > msg.addRecipient(Message.RecipientType.TO, new > InternetAddress > > > > (to)); > > > > msg.setSubject(subject); > > > > > > Multipart mp = new MimeMultipart("related"); > > > > > > MimeBodyPart htmlPart = new MimeBodyPart(); > > > > htmlPart.setContent(htmlText, "text/html"); > > > > mp.addBodyPart(htmlPart); > > > > > > MimeBodyPart attachment
Re: [appengine-java] Re: NullPointer on key
What you'll want to do is to retrieve the object before closing the PersistenceManager and storing it into request scope. That is: PersistenceManager pm = PMF.get().getPersistenceManager(); MyUser u = pm.get // .. some retrieval code; u.getContactInfo(); pm.close(); We'll be changing this behavior in an upcoming release so that embedded objects, text, blob and list fields that are not retrieved by default will be retrieved on a fetch. On Wed, Nov 18, 2009 at 11:41 AM, IlyaE wrote: > Running into another issue. So i'm detaching my object and passing it > along in a session. > > I'm now getting this error WARNING: > javax.jdo.JDODetachedFieldAccessException: You have just attempted to > access field "contactInfo" yet this field was not detached when you > detached the object. Either dont access this field, or detach it when > detaching the object. > > my contactInfo is an embedded persistent object in the object i am > detaching. >@Embedded >@Persistent >private ContactInfo contactInfo; > > If i make contactInfo @Persistent(defaultFetchGroup="true") then i get > this error. > WARNING: The datastore does not support joins and therefore cannot > honor requests to place child objects in the default fetch group. The > field will be fetched lazily on first access. You can modify this > warning by setting the datanucleus.appengine.ignorableMetaDataBehavior > property in your config. A value of NONE will silence the warning. A > value of ERROR will turn the warning into an exception. > > What is the correct way of making sure this embedded object is also > detached when i save it to the session? > > On Nov 14, 6:37 am, datanucleus wrote: > > What state is the object in when you access its field ? (Call > > JDOHelper.getObjectState(obj)). > > Since no transaction boundaries or PM lifecycle is presented, it's > > hard to guess. If you leave the object to become "transient" then it > > will likely have its field values nulled when leaving the transaction/ > > PM (unless you bothered setting javax.jdo.option.RetainValues) > > -- > > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to > google-appengine-j...@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine-java+unsubscr...@googlegroups.com > . > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > > > -- Ikai Lan Developer Programs Engineer, Google App Engine -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
[appengine-java] Re: Can't send mail with attachment using JavaMail API
Any chance to see this bug fixed in the future ? Is there any documentation on the meaning of "Converting attachment data failed" error message ? On 19 nov, 20:55, "Ikai L (Google)" wrote: > Looks like you're right. As far as I know there are no hidden methods. > > Another workaround for this limitation could be to store incoming images in > the data store on an incoming email, then reference them in the emails that > get sent out. It's not ideal, but it may be the solution to what you are > looking for. > > > > On Wed, Nov 18, 2009 at 3:36 PM, mably wrote: > > I haven't found a way to set a Content-ID header on a mimebodypart/ > > attachment using the low-level API. The MailService.Attachment class > > is quite rudimentary (only filename and data). > > > May be some part of the low level API are still undocumented ? > > > Thanx for all. > > > On Nov 19, 12:25 am, "Ikai L (Google)" wrote: > > > That's good information to know. We are not using Sun's JavaMail > > > implementation, so it's possible there are points of incompatibility. > > > There's one last thing you may want to try: > > > >http://code.google.com/appengine/docs/java/javadoc/com/google/appengi... > > > > The above page documents the Low-Level API. Try creating an email object > > via > > > that API, setting the Content-ID of the attachment and the HTML tag to > > point > > > to the cid. You're already doing that in the example you sent using > > > javax.mail, but I'm wondering if the low-level API is capable of doing > > this. > > > If not, I'll open an issue. > > > > On Wed, Nov 18, 2009 at 3:06 PM, mably wrote: > > > > Of course, the code above doesn't need to be run in mail handler > > > > servlet :-) > > > > > On Nov 19, 12:01 am, mably wrote: > > > > > I've written a simple class sending an HTML email with an embedded > > > > > image (cf. below) via GMail SMTP. It works perfectly fine when run > > > > > locally from Eclipse. > > > > > > The same code in a GAE mail servlet handler produce the infamous > > > > > "Converting attachment data failed" error. > > > > > > So it really seems to be a problem in GAE javamail implementation. > > > > > > /* > > > > > * Copyright (C) 2009 Francois Masurel > > > > > * > > > > > * This program is free software: you can redistribute it and/or > > > > > modify > > > > > * it under the terms of the GNU General Public License as published > > > > > by > > > > > * the Free Software Foundation, either version 3 of the License, or > > > > > * any later version. > > > > > * > > > > > * This program is distributed in the hope that it will be useful, > > > > > * but WITHOUT ANY WARRANTY; without even the implied warranty of > > > > > * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > > > > * GNU General Public License for more details. > > > > > * > > > > > * You should have received a copy of the GNU General Public License > > > > > * along with this program. If not, see < > >http://www.gnu.org/licenses/>. > > > > > > */ > > > > > > import java.io.ByteArrayOutputStream; > > > > > import java.io.IOException; > > > > > import java.io.InputStream; > > > > > import java.util.Properties; > > > > > > import javax.mail.Message; > > > > > import javax.mail.Multipart; > > > > > import javax.mail.Session; > > > > > import javax.mail.Transport; > > > > > import javax.mail.internet.InternetAddress; > > > > > import javax.mail.internet.MimeBodyPart; > > > > > import javax.mail.internet.MimeMessage; > > > > > import javax.mail.internet.MimeMultipart; > > > > > > /** > > > > > * @author Francois > > > > > * > > > > > */ > > > > > public class GMailSMTP { > > > > > > private static final String SMTP_HOST_NAME = "smtp.gmail.com"; > > > > > private static final int SMTP_HOST_PORT = 465; > > > > > private static final String SMTP_AUTH_USER = "x...@gmail.com"; > > > > > private static final String SMTP_AUTH_PWD = "yyy"; > > > > > > public static void main(String[] args) throws Exception{ > > > > > new GMailSMTP().test(); > > > > > } > > > > > > public void test() throws Exception{ > > > > > Properties props = new Properties(); > > > > > > props.put("mail.transport.protocol", "smtps"); > > > > > props.put("mail.smtps.host", SMTP_HOST_NAME); > > > > > props.put("mail.smtps.auth", "true"); > > > > > // props.put("mail.smtps.quitwait", "false"); > > > > > > String from = SMTP_AUTH_USER; > > > > > String to = SMTP_AUTH_USER; > > > > > String subject = "Testing SMTP-SSL"; > > > > > String htmlText = "Hello"; > > > > > byte[] imgData = this.obtainByteData("enveloppe.gif"); > > > > > > Session mailSession = Session.getDefaultInstance(props); > > > > > mailSession.setDebug(true); > > > > > > Message msg = new MimeMessage(mailSession); > > > > > msg.setFrom(new InternetAddress(from)); > > > > > msg.addRecipient(Message.RecipientType.TO, new > >
[appengine-java] Re: Can't send mail with attachment using JavaMail API
By the way, do you know if Google plans to open source some parts of GAE librairies so we could investigate deeper when we encounter such a problem ? On 19 nov, 21:01, mably wrote: > Any chance to see this bug fixed in the future ? > > Is there any documentation on the meaning of "Converting > attachment data failed" error message ? > > On 19 nov, 20:55, "Ikai L (Google)" wrote: > > > > > Looks like you're right. As far as I know there are no hidden methods. > > > Another workaround for this limitation could be to store incoming images in > > the data store on an incoming email, then reference them in the emails that > > get sent out. It's not ideal, but it may be the solution to what you are > > looking for. > > > On Wed, Nov 18, 2009 at 3:36 PM, mably wrote: > > > I haven't found a way to set a Content-ID header on a mimebodypart/ > > > attachment using the low-level API. The MailService.Attachment class > > > is quite rudimentary (only filename and data). > > > > May be some part of the low level API are still undocumented ? > > > > Thanx for all. > > > > On Nov 19, 12:25 am, "Ikai L (Google)" wrote: > > > > That's good information to know. We are not using Sun's JavaMail > > > > implementation, so it's possible there are points of incompatibility. > > > > There's one last thing you may want to try: > > > > >http://code.google.com/appengine/docs/java/javadoc/com/google/appengi... > > > > > The above page documents the Low-Level API. Try creating an email object > > > via > > > > that API, setting the Content-ID of the attachment and the HTML tag to > > > point > > > > to the cid. You're already doing that in the example you sent using > > > > javax.mail, but I'm wondering if the low-level API is capable of doing > > > this. > > > > If not, I'll open an issue. > > > > > On Wed, Nov 18, 2009 at 3:06 PM, mably wrote: > > > > > Of course, the code above doesn't need to be run in mail handler > > > > > servlet :-) > > > > > > On Nov 19, 12:01 am, mably wrote: > > > > > > I've written a simple class sending an HTML email with an embedded > > > > > > image (cf. below) via GMail SMTP. It works perfectly fine when run > > > > > > locally from Eclipse. > > > > > > > The same code in a GAE mail servlet handler produce the infamous > > > > > > "Converting attachment data failed" error. > > > > > > > So it really seems to be a problem in GAE javamail implementation. > > > > > > > /* > > > > > > * Copyright (C) 2009 Francois Masurel > > > > > > * > > > > > > * This program is free software: you can redistribute it and/or > > > > > > modify > > > > > > * it under the terms of the GNU General Public License as published > > > > > > by > > > > > > * the Free Software Foundation, either version 3 of the License, or > > > > > > * any later version. > > > > > > * > > > > > > * This program is distributed in the hope that it will be useful, > > > > > > * but WITHOUT ANY WARRANTY; without even the implied warranty of > > > > > > * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > > > > > * GNU General Public License for more details. > > > > > > * > > > > > > * You should have received a copy of the GNU General Public License > > > > > > * along with this program. If not, see < > > >http://www.gnu.org/licenses/>. > > > > > > > */ > > > > > > > import java.io.ByteArrayOutputStream; > > > > > > import java.io.IOException; > > > > > > import java.io.InputStream; > > > > > > import java.util.Properties; > > > > > > > import javax.mail.Message; > > > > > > import javax.mail.Multipart; > > > > > > import javax.mail.Session; > > > > > > import javax.mail.Transport; > > > > > > import javax.mail.internet.InternetAddress; > > > > > > import javax.mail.internet.MimeBodyPart; > > > > > > import javax.mail.internet.MimeMessage; > > > > > > import javax.mail.internet.MimeMultipart; > > > > > > > /** > > > > > > * @author Francois > > > > > > * > > > > > > */ > > > > > > public class GMailSMTP { > > > > > > > private static final String SMTP_HOST_NAME = "smtp.gmail.com"; > > > > > > private static final int SMTP_HOST_PORT = 465; > > > > > > private static final String SMTP_AUTH_USER = "x...@gmail.com"; > > > > > > private static final String SMTP_AUTH_PWD = "yyy"; > > > > > > > public static void main(String[] args) throws Exception{ > > > > > > new GMailSMTP().test(); > > > > > > } > > > > > > > public void test() throws Exception{ > > > > > > Properties props = new Properties(); > > > > > > > props.put("mail.transport.protocol", "smtps"); > > > > > > props.put("mail.smtps.host", SMTP_HOST_NAME); > > > > > > props.put("mail.smtps.auth", "true"); > > > > > > // props.put("mail.smtps.quitwait", "false"); > > > > > > > String from = SMTP_AUTH_USER; > > > > > > String to = SMTP_AUTH_USER; > > > > > > String subject = "Testing SMTP-SSL"; > > > > > > String htmlText = "Hello"; > > > > > >
[appengine-java] Re: Problems with large request/response headers
Correct I do not see this problem on the production cloud. I've entered a bug report as requested: http://code.google.com/p/googleappengine/issues/detail?id=2413 One other point... Although Jetty issue #336 says that it was fixed in 6.1.11, I still see the problem when using "standalone" Jetty 6.1.16 unless I add: 8192 to jetty.xml. So perhaps simply upgrading the Jetty that is bundled with the GAE SDK won't be enough. Perhaps the fix for #336 was to allow the headerBufferSize configurations to be honored??? In which case we'd need both a newer Jetty in the GAE SDK *plus* the ability to configure it. Matt On Nov 18, 7:23 pm, "Ikai L (Google)" wrote: > Matt, > > There probably isn't anything you'll be able to do in the meantime. You may > not see this when deployed since we are not using a different servlet engine > in production. Can you go ahead and open an issue here for us to upgrade our > SDK's version of Jetty? > > http://code.google.com/p/googleappengine/issues/list?can=2&q=jetty > > It's something we'd eventually want to do anyway, and getting it into the > issue tracker will mean it's on our radar. > > > > On Wed, Nov 18, 2009 at 8:32 AM, Matthew McGinty wrote: > > Ikai, > > > Reading all of the Jetty bug report you found, I see that it is > > possible to configure the size of the header buffer used by Jetty. > > This is done in the jetty.xml file. > > I don't see that file within my GAE project. > > I see appengine-web.xml. > > > Does GAE expose/use jetty.xml or some equivalent? > > If so, where would I find it? > > > If I can configure the Jetty that is bundled with GAE Dev server, then > > that would solve my problem. > > > Thanks. > > > Matt > > > On Wed, Nov 18, 2009 at 11:23 AM, Matthew McGinty > > wrote: > > > Thanks Ikai for responding and for finding that Jetty bug report. > > > It is marked as "fixed" in Jetty 6.1.11. > > > Do you know if that fix is in the version of Jetty that is bundled > > > with the GAE Dev server? > > > > I can't store that data in the session because the data being stored > > > in the cookies is not being placed there by me. > > > It is being placed there by the Application Server software I'm using > > > which is running on top of the GAE. > > > Specifically it is being placed there by OpenBD Google which is a > > > version of BlueDragon (a CFML Engine) ported to run on GAE. BlueDragon > > > is the Application Server that powers MySpace. > > > >http://www.openbluedragon.org/ > > > >http://wiki.openbluedragon.org/wiki/index.php/Category:GoogleAppEngine > > > > Storing such data in cookies is a requirement/feature of the CFML > > > Engine. That is how Adobe's ColdFusion CFML Engine functions. It is > > > jjust name/value pair data (String data)... variable defined to be in > > > something called the "client scope" (in CFML speak). > > > BD may be configured to store client scoped variables in either > > > cookies or a database... so using the database option would work > > > around this problem but it still seems like something that should be > > > fixed for GAE. > > > > BlueDragon runs on top of various platforms: > > > Microsoft .NET framework > > > WebSphere > > > Weblogic > > > ServletExec > > > > and behind commercial grade webservers (IIS, and Apache) and does not > > > exhibit this problem in any of those environments... only with Jetty. > > > > Matt > > > > On Mon, Nov 16, 2009 at 5:36 PM, Ikai L (Google) > > wrote: > > >> Matt, > > > >> This looks like it may be a JeTTy issue: > > >>http://jira.codehaus.org/browse/JETTY-336 > > > >> That being said, I'm curious as to what data you are storing in the > > cookie. > > >> Less than 1.5% of sites pass cookies larger than 1501 bytes, and there > > are > > >> performance implications for passing large amounts of cookies: > > >>http://yuiblog.com/blog/2007/03/01/performance-research-part-3 > > > >> Is this data you can store in the session instead? > > > >> On Fri, Nov 13, 2009 at 12:05 PM, Matthew McGinty > > >> wrote: > > > >>> I'm using the GAE Java Dev Server (i.e. Jetty). > > >>> When I request a page that sends a large amount of cookie data to the > > >>> browser and then re-request the page (so that the browser sends the > > >>> cookies back to the server) I get this stacktrace: > > > >>> == > > >>> Nov 13, 2009 6:35:13 PM com.google.apphosting.utils.jetty.JettyLogger > > >>> warn > > >>> WARNING: handle failed > > >>> java.io.IOException: FULL head > > >>> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:276) > > >>> at > > org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205) > > >>> at > > org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) > > >>> at org.mortbay.io.nio.SelectChannelEndPoint.run > > >>> (SelectChannelEndPoint.java:396) > > >>> at org.mortbay.thread.BoundedThreadPool$PoolThread.run > > >>> (BoundedThreadPool.java:442) > > >>> == > > > >>> The behavior I see is that the browser receives what
Re: [appengine-java] Re: Problems with large request/response headers
Thanks Matt! The test case helps a lot. On Thu, Nov 19, 2009 at 12:28 PM, Matthew McGinty wrote: > Correct I do not see this problem on the production cloud. > I've entered a bug report as requested: > > http://code.google.com/p/googleappengine/issues/detail?id=2413 > > One other point... > Although Jetty issue #336 says that it was fixed in 6.1.11, I still > see the problem when using "standalone" Jetty 6.1.16 unless I add: > 8192 > > to jetty.xml. > > So perhaps simply upgrading the Jetty that is bundled with the GAE SDK > won't be enough. > Perhaps the fix for #336 was to allow the headerBufferSize > configurations to be honored??? > In which case we'd need both a newer Jetty in the GAE SDK *plus* the > ability to configure it. > > Matt > > On Nov 18, 7:23 pm, "Ikai L (Google)" wrote: > > Matt, > > > > There probably isn't anything you'll be able to do in the meantime. You > may > > not see this when deployed since we are not using a different servlet > engine > > in production. Can you go ahead and open an issue here for us to upgrade > our > > SDK's version of Jetty? > > > > http://code.google.com/p/googleappengine/issues/list?can=2&q=jetty > > > > It's something we'd eventually want to do anyway, and getting it into the > > issue tracker will mean it's on our radar. > > > > > > > > On Wed, Nov 18, 2009 at 8:32 AM, Matthew McGinty > wrote: > > > Ikai, > > > > > Reading all of the Jetty bug report you found, I see that it is > > > possible to configure the size of the header buffer used by Jetty. > > > This is done in the jetty.xml file. > > > I don't see that file within my GAE project. > > > I see appengine-web.xml. > > > > > Does GAE expose/use jetty.xml or some equivalent? > > > If so, where would I find it? > > > > > If I can configure the Jetty that is bundled with GAE Dev server, then > > > that would solve my problem. > > > > > Thanks. > > > > > Matt > > > > > On Wed, Nov 18, 2009 at 11:23 AM, Matthew McGinty > > > wrote: > > > > Thanks Ikai for responding and for finding that Jetty bug report. > > > > It is marked as "fixed" in Jetty 6.1.11. > > > > Do you know if that fix is in the version of Jetty that is bundled > > > > with the GAE Dev server? > > > > > > I can't store that data in the session because the data being stored > > > > in the cookies is not being placed there by me. > > > > It is being placed there by the Application Server software I'm using > > > > which is running on top of the GAE. > > > > Specifically it is being placed there by OpenBD Google which is a > > > > version of BlueDragon (a CFML Engine) ported to run on GAE. > BlueDragon > > > > is the Application Server that powers MySpace. > > > > > >http://www.openbluedragon.org/ > > > > > > > http://wiki.openbluedragon.org/wiki/index.php/Category:GoogleAppEngine > > > > > > Storing such data in cookies is a requirement/feature of the CFML > > > > Engine. That is how Adobe's ColdFusion CFML Engine functions. It is > > > > jjust name/value pair data (String data)... variable defined to be in > > > > something called the "client scope" (in CFML speak). > > > > BD may be configured to store client scoped variables in either > > > > cookies or a database... so using the database option would work > > > > around this problem but it still seems like something that should be > > > > fixed for GAE. > > > > > > BlueDragon runs on top of various platforms: > > > > Microsoft .NET framework > > > > WebSphere > > > > Weblogic > > > > ServletExec > > > > > > and behind commercial grade webservers (IIS, and Apache) and does not > > > > exhibit this problem in any of those environments... only with Jetty. > > > > > > Matt > > > > > > On Mon, Nov 16, 2009 at 5:36 PM, Ikai L (Google) > > > wrote: > > > >> Matt, > > > > > >> This looks like it may be a JeTTy issue: > > > >>http://jira.codehaus.org/browse/JETTY-336 > > > > > >> That being said, I'm curious as to what data you are storing in the > > > cookie. > > > >> Less than 1.5% of sites pass cookies larger than 1501 bytes, and > there > > > are > > > >> performance implications for passing large amounts of cookies: > > > >>http://yuiblog.com/blog/2007/03/01/performance-research-part-3 > > > > > >> Is this data you can store in the session instead? > > > > > >> On Fri, Nov 13, 2009 at 12:05 PM, Matthew McGinty < > mcgin...@gmail.com> > > > >> wrote: > > > > > >>> I'm using the GAE Java Dev Server (i.e. Jetty). > > > >>> When I request a page that sends a large amount of cookie data to > the > > > >>> browser and then re-request the page (so that the browser sends the > > > >>> cookies back to the server) I get this stacktrace: > > > > > >>> == > > > >>> Nov 13, 2009 6:35:13 PM > com.google.apphosting.utils.jetty.JettyLogger > > > >>> warn > > > >>> WARNING: handle failed > > > >>> java.io.IOException: FULL head > > > >>>at > org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:276) > > > >>>at > > > org.mortbay.jetty.HttpParser.parseAvailable(HttpParser
Re: [appengine-java] Re: Can't send mail with attachment using JavaMail API
We'll always try to open source what makes sense. I'm not sure it'd make sense to open source all GAE libraries since many of the calls talk to services. The javax.mail.* could fall under the "makes sense" category. On Thu, Nov 19, 2009 at 12:07 PM, mably wrote: > By the way, do you know if Google plans to open source some parts of > GAE librairies so we could investigate deeper when we encounter such a > problem ? > > On 19 nov, 21:01, mably wrote: > > Any chance to see this bug fixed in the future ? > > > > Is there any documentation on the meaning of "Converting > > attachment data failed" error message ? > > > > On 19 nov, 20:55, "Ikai L (Google)" wrote: > > > > > > > > > Looks like you're right. As far as I know there are no hidden methods. > > > > > Another workaround for this limitation could be to store incoming > images in > > > the data store on an incoming email, then reference them in the emails > that > > > get sent out. It's not ideal, but it may be the solution to what you > are > > > looking for. > > > > > On Wed, Nov 18, 2009 at 3:36 PM, mably wrote: > > > > I haven't found a way to set a Content-ID header on a mimebodypart/ > > > > attachment using the low-level API. The MailService.Attachment class > > > > is quite rudimentary (only filename and data). > > > > > > May be some part of the low level API are still undocumented ? > > > > > > Thanx for all. > > > > > > On Nov 19, 12:25 am, "Ikai L (Google)" wrote: > > > > > That's good information to know. We are not using Sun's JavaMail > > > > > implementation, so it's possible there are points of > incompatibility. > > > > > There's one last thing you may want to try: > > > > > > > > http://code.google.com/appengine/docs/java/javadoc/com/google/appengi... > > > > > > > The above page documents the Low-Level API. Try creating an email > object > > > > via > > > > > that API, setting the Content-ID of the attachment and the HTML tag > to > > > > point > > > > > to the cid. You're already doing that in the example you sent using > > > > > javax.mail, but I'm wondering if the low-level API is capable of > doing > > > > this. > > > > > If not, I'll open an issue. > > > > > > > On Wed, Nov 18, 2009 at 3:06 PM, mably wrote: > > > > > > Of course, the code above doesn't need to be run in mail handler > > > > > > servlet :-) > > > > > > > > On Nov 19, 12:01 am, mably wrote: > > > > > > > I've written a simple class sending an HTML email with an > embedded > > > > > > > image (cf. below) via GMail SMTP. It works perfectly fine when > run > > > > > > > locally from Eclipse. > > > > > > > > > The same code in a GAE mail servlet handler produce the > infamous > > > > > > > "Converting attachment data failed" error. > > > > > > > > > So it really seems to be a problem in GAE javamail > implementation. > > > > > > > > > /* > > > > > > > * Copyright (C) 2009 Francois Masurel > > > > > > > * > > > > > > > * This program is free software: you can redistribute it > and/or > > > > > > > modify > > > > > > > * it under the terms of the GNU General Public License as > published > > > > > > > by > > > > > > > * the Free Software Foundation, either version 3 of the > License, or > > > > > > > * any later version. > > > > > > > * > > > > > > > * This program is distributed in the hope that it will be > useful, > > > > > > > * but WITHOUT ANY WARRANTY; without even the implied warranty > of > > > > > > > * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See > the > > > > > > > * GNU General Public License for more details. > > > > > > > * > > > > > > > * You should have received a copy of the GNU General Public > License > > > > > > > * along with this program. If not, see < > > > >http://www.gnu.org/licenses/>. > > > > > > > > > */ > > > > > > > > > import java.io.ByteArrayOutputStream; > > > > > > > import java.io.IOException; > > > > > > > import java.io.InputStream; > > > > > > > import java.util.Properties; > > > > > > > > > import javax.mail.Message; > > > > > > > import javax.mail.Multipart; > > > > > > > import javax.mail.Session; > > > > > > > import javax.mail.Transport; > > > > > > > import javax.mail.internet.InternetAddress; > > > > > > > import javax.mail.internet.MimeBodyPart; > > > > > > > import javax.mail.internet.MimeMessage; > > > > > > > import javax.mail.internet.MimeMultipart; > > > > > > > > > /** > > > > > > > * @author Francois > > > > > > > * > > > > > > > */ > > > > > > > public class GMailSMTP { > > > > > > > > > private static final String SMTP_HOST_NAME = " > smtp.gmail.com"; > > > > > > > private static final int SMTP_HOST_PORT = 465; > > > > > > > private static final String SMTP_AUTH_USER = " > x...@gmail.com"; > > > > > > > private static final String SMTP_AUTH_PWD = "yyy"; > > > > > > > > > public static void main(String[] args) throws Exception{ > > > > > > >new GMailSMTP().test(); > > > > > > > } > > > > > > > > > public void test() throws Exception{ > > >
Re: [appengine-java] Forcing a redirect to the actual Google Accounts screen?
What are you trying to do? Your development server would not be able to use the session that is created from the actual Google Accounts screen. If you really needed to, you could probably implement the UserService interface and dependency inject the implementation you need to return the real login URL or the stub when you need that. As of right now it's: https://your_app_id.google.com/a/DOMAIN.COM (can be gmail.com) I wouldn't rely on this since it would change, which is why we provide a service for retrieving it. On Wed, Nov 18, 2009 at 1:01 PM, RodgeJDU wrote: > The Documentation on > http://code.google.com/appengine/docs/java/gettingstarted/usingusers.html > for the Google App Engine dictates the following: > > "The development server knows how to simulate the Google Accounts sign- > in facility. When run on your local machine, the redirect goes to the > page where you can enter any email address to simulate an account sign- > in. When run on App Engine, the redirect goes to the actual Google > Accounts screen." > > I've been trying to run a simple program on my local machine, but > don't know how to explicitly force the redirect to the ACTUAL Google > Accounts screen (instead of using the simulated "enter any email > address here" screen). Does anyone have any suggestions how to about > bridging this divide? > > -- > > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to > google-appengine-j...@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine-java+unsubscr...@googlegroups.com > . > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > > > -- Ikai Lan Developer Programs Engineer, Google App Engine -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
[appengine-java] Re: updating object doesn't work anymore
No not yet. -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
Re: [appengine-java] bulkloader dump and restore
Len, I assume you are doing this by having different application versions for a Python application and Java application as documented here: http://googleappengine.blogspot.com/2009/06/10-things-you-probably-didnt-know-about.html Then redefining your Java data class in Python in your Exporter class and passing a string similar to this to appcfg.py: appcfg.py --server=python.latest.YOURAPPID.appspot.com download_data APPDIR --filename=output.csv --kind=Thing --config_file=APPDIR/thing_exporter.py There's a trick you'll need to export the key. Here's my Thing.java ( http://pastie.org/706983): import com.google.appengine.api.datastore.Key; import javax.jdo.annotations.*; @PersistenceCapable(identityType = IdentityType.APPLICATION) public class Thing { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key key; @Persistent private String name; @Persistent private int number; public Thing(String name, int number) { this.name = name; this.number = number; } public Key getKey() { return key; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getNumber() { return number; } public void setNumber(int number) { this.number = number; } } Here's the corresponding Python exporter code (http://pastie.org/706981): from google.appengine.ext import db from google.appengine.tools import bulkloader class Thing(db.Model): name = db.StringProperty() number = db.IntegerProperty() def AddKeys(entity_generator): for entity in entity_generator: entity['key'] = entity.key() yield entity class ThingExporter(bulkloader.Exporter): def __init__(self): bulkloader.Exporter.__init__(self, 'Thing', [('key', str, None), ('name', str, None), ('number', str, None) ]) def output_entities(self, entity_generator): bulkloader.Exporter.output_entities(self, AddKeys(entity_generator)) exporters = [ThingExporter] The magic here is in the AddKey that you define. You add the "key" field to the objects in each iteration of your loop exporting an entity. On Fri, Nov 13, 2009 at 4:15 PM, lent wrote: > Hello, > > I got python bulkloader upload data and download data working with > loader and exporter for my java app. Do the bulkloader dump and > restore options work when used with java app? They don't seem to work > for me. I get an error like: > BadRequestError: app xxx cannot access app bulkload.latest.xxx's data > > When doing download data, how can I get the id field exported, i.e. > what do you need to specify in the exporter to export the id field? I > tried field names such as key and id (of type db.Key) but they didn't > work. > > Regards, > Len > > -- > > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to > google-appengine-j...@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine-java+unsubscr...@googlegroups.com > . > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=. > > > -- Ikai Lan Developer Programs Engineer, Google App Engine -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
Re: [appengine-java] IOException on uploading app
I had a problem with newlines inside things in the web.xml. For example, this wouldn't work: sample006-gae It needed to be sample006-gae david jones wrote: > heya, > > i'm quite (well, very) new to the google app engine and am just trying > to upload a very basic start to the project i'm working on. however, > when i try to upload (either using the plugin for eclipse or through > appcfg.cmd) i get the error: > > An internal error occurred during: "Deploying ConferenceCloud to > Google". > Received IOException parsing the input stream for C:/Users/dave/ > workspace/ConferenceCloud/war\WEB-INF/web.xml > > i havent edited the web.xml file, leaving it as it was when i created > the project in eclipse > > has anyone encountered this before or knows how to solve it? > > thanks, > david > > -- > > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to google-appengine-j...@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine-java+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=. > > -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
[appengine-java] convert JDO query to JPA
hi all, i have a JDO query that i would like to port to JPA. Friend Entity @PersistenceCapable(identityType=IdentityType.APPLICATION) public class Friend { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key key; @Persistent private String lastName; @Persistent public int crud; @Persistent private String firstName; @Persistent(defaultFetchGroup = "true") private Collection friends; //JDO javax.jdo.Query query = pm.newQuery(Friend.class); Key myKey = user2.getKey(); query.declareParameters("com.google.appengine.api.datastore.Key myKey"); query.setFilter("friends == myKey"); query.setOrdering("crud ASC, lastName ASC, firstName ASC"); List friendList = (List) query.execute(myKey); The problem i am having is with the query.setFilter("friends == myKey" ) portion. //JPA javax.persistence.Query query = em.createQuery("select from Friend where friends=:key"); query.setParameter("key", user2.getKey()); List friendList = (List) query.getResultList(); however the resultlist returns 0. any help is appreciated -lp -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
Re: [appengine-java] 500 Internal Server Error, when update appl
It's not work now, it's stop working in 11/11/09 11/11/09 00:58:54 was completed update of a new default version On Thu, Nov 19, 2009 at 8:33 PM, Ikai L (Google) wrote: > Does it work now, or did it stop working at some point? > > On Wed, Nov 18, 2009 at 9:45 PM, Jackob wrote: > >> - aapcore >> - appengine-java-sdk-1.2.6 >> - Win XP >> - Several first times it was work fine >> - no proxy >> >> On Wed, Nov 18, 2009 at 11:42 PM, Ikai L (Google) wrote: >> >>> What is your app ID? Can you also provide the following details: >>> >>> - application ID >>> - SDK version. Also include whether it is Python or Java >>> - Operating System >>> - Whether this is the first push or not >>> - Are you behind a proxy? >>> >>> As much information as you can give me would be helpful. >>> >>> >>> On Mon, Nov 16, 2009 at 10:25 PM, Jackob wrote: >>> The problem is not fixed , i can't upload update. The happened only with my account? On Mon, Nov 16, 2009 at 11:59 PM, Ikai L (Google) wrote: > Have you been able to update this application? > > On Wed, Nov 11, 2009 at 11:53 PM, Jackroz wrote: > >> Hi Team, >> >> Last two day i can't update appl, what is wrong? >> >> Please see detail log: >> >> Unable to update: >> java.io.IOException: Error posting to URL: >> >> http://appengine.google.com/api/appversion/cloneblobs?app_id=aapcore&version=2&; >> 500 Internal Server Error >> >> Server Error (500) >> A server error has occurred. >> >>at com.google.appengine.tools.admin.ServerConnection.send >> (ServerConnection.java:143) >>at com.google.appengine.tools.admin.ServerConnection.post >> (ServerConnection.java:81) >>at com.google.appengine.tools.admin.AppVersionUpload.send >> (AppVersionUpload.java:427) >>at com.google.appengine.tools.admin.AppVersionUpload.cloneFiles >> (AppVersionUpload.java:293) >>at >> com.google.appengine.tools.admin.AppVersionUpload.beginTransaction >> (AppVersionUpload.java:255) >>at com.google.appengine.tools.admin.AppVersionUpload.doUpload >> (AppVersionUpload.java:98) >>at com.google.appengine.tools.admin.AppAdminImpl.update >> (AppAdminImpl.java:56) >>at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute >> (AppCfg.java:521) >>at >> com.google.appengine.tools.admin.AppCfg.(AppCfg.java:130) >>at >> com.google.appengine.tools.admin.AppCfg.(AppCfg.java:58) >>at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:54) >> com.google.appengine.tools.admin.AdminException: Unable to update app: >> Error posting to URL: >> http://appengine.google.com/api/appversion/cloneblobs?app_id=aapcore&version=2&; >> 500 Internal Server Error >> >> Server Error (500) >> A server error has occurred. >> >>at com.google.appengine.tools.admin.AppAdminImpl.update >> (AppAdminImpl.java:62) >>at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute >> (AppCfg.java:521) >>at >> com.google.appengine.tools.admin.AppCfg.(AppCfg.java:130) >>at >> com.google.appengine.tools.admin.AppCfg.(AppCfg.java:58) >>at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:54) >> Caused by: java.io.IOException: Error posting to URL: >> >> http://appengine.google.com/api/appversion/cloneblobs?app_id=aapcore&version=2&; >> 500 Internal Server Error >> >> Server Error (500) >> A server error has occurred. >> >>at com.google.appengine.tools.admin.ServerConnection.send >> (ServerConnection.java:143) >>at com.google.appengine.tools.admin.ServerConnection.post >> (ServerConnection.java:81) >>at com.google.appengine.tools.admin.AppVersionUpload.send >> (AppVersionUpload.java:427) >>at com.google.appengine.tools.admin.AppVersionUpload.cloneFiles >> (AppVersionUpload.java:293) >>at >> com.google.appengine.tools.admin.AppVersionUpload.beginTransaction >> (AppVersionUpload.java:255) >>at com.google.appengine.tools.admin.AppVersionUpload.doUpload >> (AppVersionUpload.java:98) >>at com.google.appengine.tools.admin.AppAdminImpl.update >> (AppAdminImpl.java:56) >>... 4 more >> >> >> -- >> >> You received this message because you are subscribed to the Google >> Groups "Google App Engine for Java" group. >> To post to this group, send email to >> google-appengine-j...@googlegroups.com. >> To unsubscribe from this group, send email to >> google-appengine-java+unsubscr...@googlegroups.com >> . >> For more options, visit this group at >> http://groups.google.com/group/google-appengine-java?hl=. >> >> >> > > > -- > Ikai L
[appengine-java] Re: updating object doesn't work anymore
> Any thoughts Look at the log perhaps? since it will tell you exactly what happens (at DEBUG level), and since you present no persistence code I'm not sure what other replies you're likely to get -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.