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

Reply via email to