Hi,
I've run into a problem handling a form POST with Restlet. I'm testing using
the Google App Engine SDK and dev environment. When I POST a web form to a
Restlet under GAE none of the parameters seem to get passed. I wrote a test
app that works fine under Tomcat and as a standalone Restlet app but not
under Google App Engine.
Anyone have any ideas?
[code]
import org.restlet.Application;
import org.restlet.Restlet;
import org.restlet.routing.Router;
import org.restlet.Component;
import org.restlet.data.Protocol;
public class Tester extends Application {
public Tester() {}
@Override
public synchronized Restlet createInboundRoot() {
Router rootRouter = new Router(getContext());
rootRouter.attach("/test", TesterResource.class);
return rootRouter;
}
/**
* This is only used if we run in standalone mode.
*/
public static void main(String[] args) throws Exception {
Component component = new Component();
component.getServers().add(Protocol.HTTP, 8080);
component.getDefaultHost().attach("/v1", new Tester());
component.start();
}
}
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
import java.util.Map;
import org.restlet.data.Form;
import org.restlet.resource.Post;
import org.restlet.resource.ServerResource;
public class TesterResource extends ServerResource {
@Post("form")
public void accept(Form form) {
// display all form key:val pairs
Map<String,String> map = form.getValuesMap();
System.out.println("Num items: " + map.size());
int i=0;
for(String key: map.keySet()) {
String val = map.get(key);
System.out.println("Item "+i+" --> " + key +":"+val);
i++;
}
}
}
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
A test HTML form:
<html><body><h1>Test form</h1>
<form method="post" action="http://localhost:8080/v1/test">
<input type="text" name="val1" />
<input type="text" name="val2" />
<input type="submit" />
</form>
</body></html>
[/code]
The results under Tomcat or standalone:
========
Num items: 2
Item 0 --> testval1:ssss
Item 1 --> testval2:aaaaa
========
The results under Google App Engine dev server:
========
Num items: 0
========
------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2747010