Restlet POSTing JSON to Appengine error

前端 未结 2 650
孤独总比滥情好
孤独总比滥情好 2020-12-11 10:23

We have a small app with Restlet on the GAE server and GWT and Android clients. Restlet serves GWT-serialized replies to GWT clients and JSON to Android clients.

All

相关标签:
2条回答
  • 2020-12-11 11:18

    Just to let everybody know: I managed to get GAE+Restlet+JSON+GWT working after much fiddling. The process was really chaotic (reminded me of days programing for the Win32): I was just changing settings until it started working.

    The problem that I was having is:

    1. It was serving the wrong representation (JSON, XML, GWT) to the wrong clients. Later it turned out that I had to pay attention to the order of methods inside the class. WTF??
    2. I could not get it to work on sub-path, e.g. /rest/*.

    I'm not going to use Restlet for the following reasons (hint to authors):

    1. Documentation is scarce, inaccurate and sometimes contradictory (explaining thing in different ways in different parts of documentation).
    2. Configuration is not standard JAX-RS. I know they have an option to configure it as JAX-RS, but all examples in docs are not based on this.

    Since then I switched to Jersey.

    0 讨论(0)
  • 2020-12-11 11:21

    You encountered a limitation of GAE that several Restlet users faced.

    Some time ago, GAE stopped supporting accepting chunked HTTP entity. We reproduced this issue with both POST and PUT and raw GAE Servlets, so this isn't Restlet related. See GAE issue: http://code.google.com/p/googleappengine/issues/detail?id=129

    The only workaround we found is to not chunk entities, meaning being able to compute their size in advance.

    In Restlet 2.1 M3 version that we just released, we added a simple "entityBuffering" property on ClientResource to facilitate this (set to 'false' by default).

    We are in the process of upgrading our "First Application" example to illustrate the workaround. We also had to cope with GWT 2.2 breaking compatibility with its previous GWT 2.1 core API, so Restlet 2.1 will only work on GWT.

    Addition details are available on this page: http://wiki.restlet.org/docs_2.1/13-restlet/21-restlet/318-restlet/303-restlet.html

    Best regards,

    Jerome

    Restlet ~ Founder and Technical Lead ~ http://www.restlet.org

    Noelios Technologies ~ http://www.noelios.com

    0 讨论(0)
提交回复
热议问题