Thanks again for your help.  I downloaded tcpmon and made the suggested
changes to my Java client.  I then did a post through Java and below are
the Request and the Response.

Request....
POST /commitments/ HTTP/1.1
Date: Wed, 15 Feb 2012 22:19:58 GMT
Content-Length: 109
Content-Type: application/json; charset=UTF-8
Accept: */*
Host: localhost:8880
User-Agent: Restlet-Framework/2.1rc2
Cache-Control: no-cache
Pragma: no-cache
Connection: keep-alive

{"id":0,"title":"Added through post - Java client","description":"This is a
description of post Java client"}

Response...
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Date: Wed, 15 Feb 2012 22:19:59 GMT
Accept-Ranges: bytes
Server: Restlet-Framework/2.1rc2
Vary: Accept-Charset, Accept-Encoding, Accept-Language, Accept
Content-Length: 1

4

Then I moved to the Javascript side.  I didn't install Firebug, but instead
I just changed the ClientResource creation from:
  var clientResource = new ClientResource("/commitments/");  /
To:
  var clientResource = new ClientResource("
http://localhost:8880/commitments/";);
where TCPmon was running on 8880 and forwarding to 8888, which is where my
server was listening.

Below are the Request and Response - and they are definitely different than
the Java version...

Request...
OPTIONS /commitments/ HTTP/1.1
Host: localhost:8880
Connection: keep-alive
Access-Control-Request-Method: POST
Origin: http://localhost:8888
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML,
like Gecko) Chrome/17.0.963.46 Safari/535.11
Access-Control-Request-Headers: Origin, Content-Type, accept
Accept: */*
Referer: http://localhost:8888/oldTest.html
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

Response...
HTTP/1.1 200 OK
Content-Type: application/vnd.sun.wadl+xml; charset=UTF-8
Date: Wed, 15 Feb 2012 22:22:22 GMT
Accept-Ranges: bytes
Allow: POST, GET
Server: Restlet-Framework/2.1rc2
Transfer-Encoding: chunked

5D2
<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="wadl2html.xslt"?>
<application xmlns="http://wadl.dev.java.net/2009/02";>
   <doc title="Commitments resource"/>
   <representation id="commitment" mediaType="text/plain">
      <doc title="Commitment">Simple string containing the commitment
ID</doc>
   </representation>
   <resources>
      <resource path="commitments/">
         <doc title="Commitments resource">The resource that contains the
list of commitments in the system</doc>
         <method name="GET">
            <response>
               <representation href="#commitment"/>
               <representation href="#commitment"/>
               <representation href="#commitment"/>
               <representation href="#commitment"/></response>
         </method>
         <method name="POST">
            <request>
               <representation href="#commitment"/>
               <representation href="#commitment"/>
               <representation href="#commitment"/>
               <representation href="#commitment"/></request>
            <response>
               <representation href="#commitment"/>
               <representation href="#commitment"/>
               <representation href="#commitment"/>
               <representation href="#commitment"/>
               <representation href="#commitment"/>
               <representation href="#commitment"/></response>
         </method>
      </resource>
   </resources>
</application>

One small typo on the
http://templth.wordpress.com/2011/05/17/activating-tracing-mode-in-restlet/article,
in the ClientResource section the line:
Context context = clientResource.getContext();
should be
context = clientResource.getContext();
(but this is minor - the ease of getting the trace using Restlet tracing
was awesome).

Thanks again for all your assistance!  (And my apologies in advance if the
problem turns out to be some silly mistake in my code - always a real
possibility).

RB


On Wed, Feb 15, 2012 at 6:15 AM, Thierry Templier [via Restlet Discuss] <
ml-node+s1400322n7287572...@n2.nabble.com> wrote:

> Hello Richard,
>
> It could be either an HTTP header not correctly in the JS part or a
> problem on methods signatures within ServerResource class...
>
> Can you give me the request content of both calls from Java and JS?
>
> - For Java, simply active tracing mode on the ClientResource client (
> http://templth.wordpress.com/2011/05/17/activating-tracing-mode-in-restlet/
> ):
>
> <http://templth.wordpress.com/2011/05/17/activating-tracing-mode-in-restlet/>String
> url = "(...)";
> Context context = new Context();
> ClientResource clientResource = new ClientResource(context, url);
> Context context = clientResource.getContext();
> context.getParameters().add("tracing", "true");
>
> - For JS, you can have access to the content using for example Firebug...
>
> Thanks!
> Thierry
>
>  First - thank you for your message and the work that you are doing.
>
> I downloaded the latest .js files and the previously reported error is
> indeed fixed.  But my post() is still not being received on the server side
> when called from Javascript.  From Javascript, I am able to succesfully call
> get and put.  From a Java client, I can successfully call post.  And a
> standard HTML form post works too.
>
> Details on the error... (from Chrome's Javascript console)
> POST http://localhost:8888/commitments/ 415 (Unsupported Media Type)
> Class.lowLevelSendRequestrestlet-browser.js:3681
> Class.sendRequestrestlet-browser.js:3630
> Class.commitrestlet-browser.js:3776
> Class.handlerestlet-browser.js:3812
> Class.handlerestlet-browser.js:3865
> Class.handleNextrestlet-browser.js:4311
> Class.handleRequestrestlet-browser.js:4301
> Class.handlerestlet-browser.js:4293
> Class.postrestlet-browser.js:4232
> (anonymous function)oldTest.html:64
> Test.runqunit.js:102
> Test.queue.badqunit.js:232
> processqunit.js:865
> QUnit.start.config.blocking
>
> Details of my client code....
> 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);
> });
>
> You had mentioned that you are still working on the header management
> processing - would that be a likely reason for the 415 error or am I not
> doing something required for Post in particular.
>
> Also, would you still like me to open an issue in GitHub for this problem or
> the previous one?
>
> Thanks so much!
> RB
>
> --
> View this message in context: 
> http://restlet-discuss.1400322.n2.nabble.com/Post-problems-when-using-Restlet-Javascript-Edition-tp7270413p7286087.html
>
>
> Sent from the Restlet Discuss mailing list archive at Nabble.com.
>
> ------------------------------------------------------
> http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2922490
>
>
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://restlet-discuss.1400322.n2.nabble.com/Post-problems-when-using-Restlet-Javascript-Edition-tp7270413p7287572.html
>  To unsubscribe from Post problems when using Restlet Javascript
> Edition..., click 
> here<http://restlet-discuss.1400322.n2.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=7270413&code=cmljaGFyZEBsYW5kaXNmYW1pbHkub3JnfDcyNzA0MTN8LTYxMDE0ODc2>
> .
> NAML<http://restlet-discuss.1400322.n2.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>


--
View this message in context: 
http://restlet-discuss.1400322.n2.nabble.com/Post-problems-when-using-Restlet-Javascript-Edition-tp7270413p7289288.html
Sent from the Restlet Discuss mailing list archive at Nabble.com.

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

Reply via email to