Hello Richard,

It seems that the missing EncodingWriter class is called in the 
restlet-browser.js. For information, the header management processing is 
still under development but your code should work!

Can you open an issue on GitHub and attachment your source code so we 
can fix the problem quickly?

Thanks very much!
Thierry

> 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

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2922292

Reply via email to