cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "metatech (JIRA)" <>
Subject [jira] [Commented] (CXF-6528) JAX-RS "lastModified" generates timestamp with non-standard format
Date Wed, 12 Aug 2015 12:27:45 GMT


metatech commented on CXF-6528:

Hi Sergey,
Yes, you guessed it right, we are using it with a Camel CXF Transport.
       at com.mycompany.myproject.MyRestService$1.toString(
        at org.apache.camel.impl.converter.ToStringTypeConverter.convertTo(
        at org.apache.camel.impl.converter.BaseTypeConverterRegistry.doConvertTo(
        at org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(
        at org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(
        at org.apache.camel.core.osgi.OsgiTypeConverter.convertTo(
        at org.apache.camel.component.http.DefaultHttpBinding.doWriteResponse(
        at org.apache.camel.component.http.DefaultHttpBinding.writeResponse(
As a workaround, I defined my own Date sub-type (class "$1" in the stack trace) in my REST
class, on which I have overridden the "toString()" method, in which I convert it explicitly
in the date format used in the old "toHttpDate" method, and now it works fine.
For a more generic solution, I guess that the Camel DefaultHttpBinding could do a custom conversion
for this HTTP header instead of using the generic TypeConverter's present in the registry.
 But this sounds like "ad hoc" solution...

> JAX-RS "lastModified" generates timestamp with non-standard format
> ------------------------------------------------------------------
>                 Key: CXF-6528
>                 URL:
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 3.0.0-milestone2
>         Environment: ServiceMix 5.4.0
>            Reporter: metatech
> In CXF 3.x (since CXF-5007), the date format has changed in the "Last-Modified" HTTP
header generated by JAX-RS.
> In class org.apache.cxf.jaxrs.impl.ResponseBuilderImpl, the method "lastModified()" does
not call the "toHttpDate" anymore.
> The format is now the default format used when calling "toString" on the date object.
> This format is not one of the 3 allowed by the HTTP specification (RFC2616, section 3.3.1).
> For instance, an HTTPClient will reject this date format :  
> ====================
> Wrong date format for date Wed Aug 12 08:18:54 CEST 2015
> org.apache.commons.httpclient.util.DateParseException: Unable to parse the date Wed Aug
12 08:18:54 CEST 2015
>         at org.apache.commons.httpclient.util.DateUtil.parseDate(
>         at org.apache.commons.httpclient.util.DateUtil.parseDate(
> ====================
> Can you please restore the date conversion ?
> Thanks in advance.

This message was sent by Atlassian JIRA

View raw message