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.html 
implement 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/-/gMsydV0NvmQJ.
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