Hello Thierry, Le 25/01/2010 17:47, Thierry Boileau a écrit : > I send a very basic application which works fine for me with the current > content of the svn repository. Thanks for your time, I should have done the same thing. Also I should tell that I'm using restlet 2.0 M6 In your small resource, you send back a string, and this is working fine in my environnement. I use your resource in my application, and it worked also. The main difference between our resource is that I send back a JSONRepresentation. And if I change your code, I have the same behavior (the client waits until forever the end of the response). Could you test with this modification ?
@Post public Representation testPost(Representation rep) throws JSONException { try { return new JsonRepresentation(new JSONObject().put("hello", "hello " + rep.getText() + "\n")); } catch (Exception e) { return new JsonRepresentation(new JSONObject().put("error", e.getMessage())); } } P.S: added a stack trace when I use ctrl+c in curl in the small application : INFO: 2010-01-26 15:07:10 127.0.0.1 - - 8182 POST /test/resource - 200 - 7 31 http://localhost:8182 curl/7.19.5 (i386-pc-win32) libcurl/7.19.5 OpenSSL/0.9.8k zlib/1.2.3 - java.io.IOException: Une connexion existante a dû être fermée par l'hôte distant at sun.nio.ch.SocketDispatcher.read0(Native Method) at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:25) at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:233) at sun.nio.ch.IOUtil.read(IOUtil.java:206) at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:236) at org.jboss.netty.buffer.HeapChannelBuffer.setBytes(HeapChannelBuffer.java:156) at org.jboss.netty.buffer.AbstractChannelBuffer.writeBytes(AbstractChannelBuffer.java:425) at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:305) at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:275) at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:196) at org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) java.io.IOException: Une connexion existante a dû être fermée par l'hôte distant at sun.nio.ch.SocketDispatcher.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:33) at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:104) at sun.nio.ch.IOUtil.write(IOUtil.java:75) at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:334) at org.jboss.netty.buffer.HeapChannelBuffer.getBytes(HeapChannelBuffer.java:107) at org.jboss.netty.channel.socket.nio.NioWorker.writeNow(NioWorker.java:431) at org.jboss.netty.channel.socket.nio.NioWorker.write(NioWorker.java:357) at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:137) at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:76) at org.jboss.netty.channel.Channels.write(Channels.java:916) at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:69) at org.jboss.netty.channel.Channels.write(Channels.java:895) at org.jboss.netty.channel.Channels.write(Channels.java:842) at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:229) at org.restlet.ext.netty.internal.HttpRequestHandler.sendError(HttpRequestHandler.java:225) at org.restlet.ext.netty.internal.HttpRequestHandler.exceptionCaught(HttpRequestHandler.java:116) at org.jboss.netty.handler.codec.replay.ReplayingDecoder.exceptionCaught(ReplayingDecoder.java:445) at org.jboss.netty.channel.Channels.fireExceptionCaught(Channels.java:619) at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:315) at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:275) at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:196) at org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) java.nio.channels.ClosedChannelException at org.jboss.netty.channel.socket.nio.NioWorker.cleanUpWriteBuffer(NioWorker.java:630) at org.jboss.netty.channel.socket.nio.NioWorker.close(NioWorker.java:589) at org.jboss.netty.channel.socket.nio.NioWorker.writeNow(NioWorker.java:466) at org.jboss.netty.channel.socket.nio.NioWorker.write(NioWorker.java:357) at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:137) at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:76) at org.jboss.netty.channel.Channels.write(Channels.java:916) at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:69) at org.jboss.netty.channel.Channels.write(Channels.java:895) at org.jboss.netty.channel.Channels.write(Channels.java:842) at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:229) at org.restlet.ext.netty.internal.HttpRequestHandler.sendError(HttpRequestHandler.java:225) at org.restlet.ext.netty.internal.HttpRequestHandler.exceptionCaught(HttpRequestHandler.java:116) at org.jboss.netty.handler.codec.replay.ReplayingDecoder.exceptionCaught(ReplayingDecoder.java:445) at org.jboss.netty.channel.Channels.fireExceptionCaught(Channels.java:619) at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:315) at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:275) at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:196) at org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) > Here is the console trace I get: > > thie...@thierry-laptop:~$ curl -i -X POST -H "Content-Type: > application/json" -d Laurent http://localhost:8182/test/resource > HTTP/1.1 200 The request has succeeded > Accept-Ranges: bytes > Content-Length: 14 > Content-Type: */*; charset=ISO-8859-1 > Date: Mon, 25 Jan 2010 16:45:33 GMT > Server: > Restlet-Framework/@major-num...@.@minor-number@@release-type@@release-number@ > Vary: Accept-Charset, Accept-Encoding, Accept-Language, Accept > > hello Laurent > thie...@thierry-laptop:~$ > > Could you try it? > > Best regards, > THierry Boileau -- Laurent Rustuel, Alten contractor for Genesys, an Alcatel-Lucent Company ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2442120