Hi Dan,

We plan to release 2.1.2 early next week. If you can't wait, you indeed
need to build the sources.

We used to have automated 2.2 snapshots built daily, but we haven't
restored the cron scripts on our new machine.

Best regards,
Jerome


2013/2/13 Daniel Halperin <dhalp...@cs.washington.edu>

>
> On Sun, Feb 10, 2013 at 9:55 AM, Jérôme Louvel <jlou...@restlet.com>wrote:
>
>> Hi Daniel,
>>
>> Thanks very much for the detailed report.
>>
>> I've been able to reproduce the issue, add a test case and fix the
>> underlying problem (in both 2.1 and 2.2 branches).
>>
>
> Thanks, Jérôme! That's great.
>
> How can I get these changes? (Do I have to rebuild the source? Will there
> be a 2.1.2 release soon?)
>
> Dan
>
>
>>
>> Actually, it was a serious issue beyond the JAX-RS extension itself as
>> the internal connector wasn't restoring the current Response, Application,
>> Context and Virtual Host (thread local variables) when writing the outbound
>> entities.
>>
>> Thanks,
>> Jerome
>> --
>> http://restlet.com
>> http://twitter.com/#!/jlouvel
>>
>>
>>
>> 2013/1/31 Daniel Halperin <dhalp...@cs.washington.edu>
>>
>>> Hi everyone,
>>>
>>> I'm just getting started with RESTlet (v.2.1.1, with
>>> org.restlet.jee.ext.jackson & jee.ext.jaxrs), so I may be doing something
>>> very wrong. However, basic things work well for me. For instance, if I
>>> return POJOs from a function annotated with
>>> @Produces(MediaType.APPLICATION_JSON), they seem to be returned properly.
>>>
>>> Right now, I'm experimenting with implementing different handlers for
>>> different Content-Types. I started with the simplest possible: echo JSON
>>> input (converted to String) back as JSON:
>>>
>>> /**
>>>  * Class that handles queries.
>>>  *
>>>  * @author dhalperi
>>>  */
>>> @Path("/query")
>>> public final class QueryResource {
>>>   /**
>>>    * For now, simply echoes back its input.
>>>    *
>>>    * @param input the payload of the POST request itself.
>>>    * @return the payload.
>>>    */
>>>   @POST
>>>   @Produces(MediaType.APPLICATION_JSON)
>>>   @Consumes(MediaType.APPLICATION_JSON)
>>>   public String postNewQuery(final String input) {
>>>     return input;
>>>   }
>>> }
>>>
>>> If I access this resource with an invalid Content-Type (curl -i -XPOST
>>> localhost:8753/query -d "hi"), the curl process hangs and it looks like
>>> RESTlet experiences an internal exception deep in its code:
>>>
>>> Exception in thread "Restlet-PipedWritableChannel"
>>> java.lang.NullPointerException
>>>  at
>>> org.restlet.ext.jaxrs.internal.provider.StringProvider.getCurrentResponseEntityCharset(StringProvider.java:98)
>>> at
>>> org.restlet.ext.jaxrs.internal.provider.StringProvider.writeTo(StringProvider.java:178)
>>>  at
>>> org.restlet.ext.jaxrs.internal.provider.StringProvider.writeTo(StringProvider.java:63)
>>> at
>>> org.restlet.ext.jaxrs.internal.wrappers.provider.SingletonProvider.writeTo(SingletonProvider.java:350)
>>>  at
>>> org.restlet.ext.jaxrs.internal.util.JaxRsOutputRepresentation.write(JaxRsOutputRepresentation.java:112)
>>> at
>>> org.restlet.representation.StreamRepresentation.write(StreamRepresentation.java:76)
>>>  at org.restlet.engine.io.NioUtils$1.run(NioUtils.java:210)
>>> at java.lang.Thread.run(Thread.java:722)
>>>
>>> Google has literally no hits for 'Restlet-PipedWritableChannel'---so I
>>> came here. :)
>>>
>>> Note that if I use the expected Content-type, it works fine: curl -i
>>> -XPOST localhost:8753/query -H "Content-type: application/json" -d "hi"
>>>
>>> INFO: 2013-01-30 18:15:30 127.0.0.1 - - 8753 POST /query - 200 2 2 10
>>> http://localhost:8753 curl/7.28.1 -
>>>
>>> What suggestions does the group have for me?
>>>
>>> Thanks!
>>> Dan
>>>
>>
>>
>

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

Reply via email to