haha ! My god I can't believe it was so easy ! I think I was probably over thinking it.
Yes so the only reason why the app engine side was returning this 404 code is because I was created the upload url on random names instead of giving it the servlet name "upload". Thank you so much :-) On Friday, 9 March 2012 12:03:18 UTC, Stuart Langley wrote: > > It looks like the URL that you specified for the callback in > createUploadURL does not exist - there's a 404 when we try and call it. > > On Friday, 9 March 2012 22:39:58 UTC+11, Killian wrote: >> >> >> The appid is linguabox10 >> >> In the mean time I deleted the blobs which I had uploaded and since >> yesterday when I click on the blob viewer in the app engine dashboard I get >> a message >> "Oops! We couldn't retrieve your list of Kinds." >> >> I'm not sure if these issues are related? >> >> Thanks for your help >> >> Killian >> >> On Friday, 9 March 2012 11:04:30 UTC, Stuart Langley wrote: >>> >>> You said the blob ends up in the blobstore but your webhook is not >>> called? >>> >>> What's the appid? >>> >>> On Friday, 9 March 2012 21:32:58 UTC+11, Killian wrote: >>>> >>>> Hi Stuart, >>>> >>>> Yes apologies if I wasn't clear. >>>> >>>> On the app engine side of things I'm calling createUploadURL and >>>> placing the resulting url in the task payload as follows: >>>> >>>> BlobstoreService blobstoreService = >>>> BlobstoreServiceFactory.getBlobstoreService(); >>>> >>>> String uploadURL = blobstoreService.createUploadUrl("/"+url); >>>> >>>> task.payload(uploadURL); >>>> >>>> >>>> Alternatively, would anyone know of sample code in java trying to >>>> programmatically upload blobs from an external app (posting a response to >>>> a >>>> pull task queue) might make things easier. I'm surprise I couldn't find >>>> anything like that on the web. >>>> >>>> In a nutshell all I'm trying to do is reproduce the architecture of the >>>> first pull task system presented in the Google I/O talk >>>> http://youtu.be/AM0ZPO7-lcE in java, to place a response to the pull >>>> task queue for the app engine app to consume. >>>> >>>> Thanks for your help :-) >>>> >>>> >>>> >>>> On Thursday, 8 March 2012 22:13:45 UTC, Stuart Langley wrote: >>>>> >>>>> Is that the actual code? >>>>> >>>>> You need to call createUploadURL for each blob you want to upload. >>>>> >>>>> On Friday, 9 March 2012 00:03:43 UTC+11, Killian wrote: >>>>>> >>>>>> Hi Lads, >>>>>> >>>>>> This issue has been bugging me for a while now and just wasted the >>>>>> last 2 days with no solution found. I'm getting desperate at this stage >>>>>> ! >>>>>> >>>>>> My aim was to use the Task Queue Pull service to run some NLP >>>>>> processing outside of app engine on an external VM. That's working fine >>>>>> however all the trouble started when I discovered that the output >>>>>> produced >>>>>> by the external VM could be fed back into the Task Queue. Following the >>>>>> example in the Google I/O video http://youtu.be/AM0ZPO7-lcE , I then >>>>>> decided to provide the response of the task queue as a Blob upload to >>>>>> the >>>>>> app engine. >>>>>> So I have the working example >>>>>> http://code.google.com/appengine/docs/java/blobstore/overview.htmlimplement >>>>>> and working perfectly. (ie: I can manually upload a file using >>>>>> the jsp form and store it). >>>>>> >>>>>> The problem is that for obvious reasons I need to send this post >>>>>> request from the VM programmatically. And that's were things start >>>>>> getting >>>>>> messy. Since the video only provides an example in Python and not in >>>>>> java >>>>>> I've been struggling find a solution to this. >>>>>> >>>>>> Looking around it seems like I need the httpcomponents-client-4.1.3 >>>>>> apache library to create post requests. >>>>>> So this is the workflow I have: >>>>>> I generate the upload url from the app engine side and place it in >>>>>> the task queue payload which is then retrieved by the VM correctly. >>>>>> >>>>>> on the VM side this is what I do: >>>>>> >>>>>> String uploadURL = >>>>>> "http://<host>/_ah/upload/agtsaW5ndWFib3gxMHIbCxIVX19CbG9iVXBsb2FkU2Vzc2lvbl9fGAEM" >>>>>> ; >>>>>> >>>>>> DefaultHttpClient httpclient = new DefaultHttpClient(); >>>>>> >>>>>> HttpPost method = new HttpPost(uploadURL); >>>>>> >>>>>> MultipartEntity entity = new MultipartEntity(); >>>>>> >>>>>> File f = new File("dummyFileToUpload.txt"); >>>>>> >>>>>> FileBody fileBody = new FileBody(f); >>>>>> >>>>>> entity.addPart("myFile", fileBody); >>>>>> >>>>>> method.setEntity(entity); >>>>>> >>>>>> HttpResponse response = httpclient.execute(method); >>>>>> >>>>>> System.out.println(response.getStatusLine()); >>>>>> >>>>>> PROBLEM: >>>>>> >>>>>> When I do this both in development mode or production mode, I receive >>>>>> a "http 404 not found" response. and it seems like the upload servlet >>>>>> isn't >>>>>> run at all (if I'm in deug mode for instance). However when I look in >>>>>> the >>>>>> blob store, the blob was indeed uploaded correctly which is good news of >>>>>> course however it means I can't get a proper response from the app >>>>>> engine >>>>>> side and more importantly can't run anything in the upload servlet. >>>>>> >>>>>> I'm guessing my post request mustn't be created properly which would >>>>>> explain why the app engine side is reacting weird? Is there anything >>>>>> obviously wrong in my approach? >>>>>> >>>>>> Would really appreciate any advice on this. >>>>>> >>>>>> Thanks in advance :-) >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/9uCD5Ve1g-oJ. To post to this group, send email to google-appengine-java@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.