Hi I have a GWT app running on GAE. I use GWT edition and the representation between client and server is [application/x-java-serialized-object+gwt,UTF-8]. Some of the calls must be proxied to Zendesk REST API, see http://www.zendesk.com/support/api/rest-introduction
I have succesfully proxied calls to search for tickets like this : public interface TicketSearchResource { @Get Ticket[] search(); } public class TicketSearchServerResource extends AbstractZendeskServerResource implements TicketSearchResource { @Override public Ticket[] search() { Form form = getRequest().getResourceRef().getQueryAsForm(); String query = form.getFirstValue(TicketSearchResourceProxy.PARAM_QUERY); String target = getZendeskUri() + "/search.json?query=type:ticket" + (query == null ? "" : "+" + query); ClientResource queryResource = new ClientResource(target); queryResource.setChallengeResponse(getChallengeResponse()); TicketSearchResource ticketSearch = queryResource.wrap(TicketSearchResource.class); return ticketSearch.search(); } } The returned entities from Zendesk are represented in JSON, unmarshalled and then turned into [application/x-java-serialized-object+gwt,UTF-8] to send to the GWT client. So far so good. Now I want to post to the Zendesk API, and I started from the same approach. I defined my resource like this : public interface TicketsResource { @Post void create(Ticket ticket); } And I also defined the ZendeskResource in a separate interface, to make sure Restlet knows it must send JSON. public interface ZendeskTickets { @Post("json") public void create(Ticket ticket); } Then my implementation to proxy this call from my TicketsResource to ZendeskTickets looks like this : public class TicketsServerResource extends AbstractZendeskServerResource implements TicketsResource { @Override public void create(Ticket ticket) { String target = getZendeskUri() + "/tickets.json"; ClientResource createTicketResource = new ClientResource(target); createTicketResource.setChallengeResponse(getChallengeResponse()); ZendeskTickets zendeskTickets = createTicketResource.wrap(ZendeskTickets.class); zendeskTickets.create(ticket); } } But no matter what [application/x-java-serialized-object+gwt,UTF-8] is being send to the ZENDESK api resulting in BAD REQUEST. I have been investigating this using Wireshark to see the traffic. Is my approach faulty ??? Thx Koen ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2892105