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/-/9r3EKX4CVjoJ.
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.

Reply via email to