Working on a small project to learn REST/Restlet and ran into a problem where I can successfully post from a Java client to my server or from an HTML form to my server, but when I try to post from Javascript it fails. I am following the sample code that is now on github (https://github.com/restlet/restlet-framework-js/tree/master/tests/org.restlet.js.tests/src/browser/static/html).
On the client side... For Java (working), I have: System.out.println("Adding a commitment"); ClientResource client3 = new ClientResource("http://localhost:8888/commitments/"); client3.setRequestEntityBuffering(true); // Per http://stackoverflow.com/questions/6462142/length-required-411-length-required-in-a-restlet-client Commitment commitment3 = new Commitment(); commitment3.setTitle("Added through post - Java client"); commitment3.setDescription("This is a description of post Java client"); Representation representation3 = client3.post(commitment3); For Javascript (not working), I have: asyncTest("Post with resource Commitment (json)", function() { var clientResource = new ClientResource("/commitments/"); var commitment = { title: "From automated test", description: "This is from our automated test" } var jsonRepresentation = new JsonRepresentation(commitment); alert(jsonRepresentation.getText()); // Result is: {"title":"From automated test","description":"This is from our automated test"} clientResource.post(jsonRepresentation, function(representation) { console.log("representation.getText() = "+representation.getText()); // Note: commenting or not commenting out all the lines below doesn't make a difference //var jsonRepresentation = new JsonRepresentation(representation); //var obj = jsonRepresentation.getObject(); //ok(obj.id, "1"); //ok(obj.title, "From automated test"); //ok(obj.description, "This is from our automated test"); start(); }, MediaType.APPLICATION_JSON); }); The error, as seen in the Javascript console, is: ReferenceError at restlet-browser.js: 3175 arguments: Array[1] 0: "EncodingWriter" length: 1 __proto__: Array[0] get message: function getter() { [native code] } get stack: function getter() { [native code] } set message: function setter() { [native code] } set stack: function setter() { [native code] } type: "not_defined" __proto__: Error On the server side, I have methods to handle the different clients: @Post() public String add(Commitment commitment); // For Java post @Post("json") public String acceptJson(String value); // For JSON @Post("form") public Representation accept(Form form); // For HTML form But the Javascript client does not appear to be even making the call to the server. Has anyone used the Restlet Edition for Javascript to do a post? Thanks so much! RB -- View this message in context: http://restlet-discuss.1400322.n2.nabble.com/Post-problems-when-using-Restlet-Javascript-Edition-tp7270413p7270413.html Sent from the Restlet Discuss mailing list archive at Nabble.com. ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2920183