[ 
https://issues.apache.org/jira/browse/CXF-6528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14693405#comment-14693405
 ] 

metatech commented on CXF-6528:
-------------------------------

Hi Sergey,
Yes, you guessed it right, we are using it with a Camel CXF Transport.
{code}
       at 
com.mycompany.myproject.MyRestService$1.toString(MyRestService.java:153)
        at 
org.apache.camel.impl.converter.ToStringTypeConverter.convertTo(ToStringTypeConverter.java:61)
        at 
org.apache.camel.impl.converter.BaseTypeConverterRegistry.doConvertTo(BaseTypeConverterRegistry.java:316)
        at 
org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(BaseTypeConverterRegistry.java:114)
        at 
org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(BaseTypeConverterRegistry.java:99)
        at 
org.apache.camel.core.osgi.OsgiTypeConverter.convertTo(OsgiTypeConverter.java:111)
        at 
org.apache.camel.component.http.DefaultHttpBinding.doWriteResponse(DefaultHttpBinding.java:286)
        at 
org.apache.camel.component.http.DefaultHttpBinding.writeResponse(DefaultHttpBinding.java:231)
{code}
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...
Thanks.


> JAX-RS "lastModified" generates timestamp with non-standard format
> ------------------------------------------------------------------
>
>                 Key: CXF-6528
>                 URL: https://issues.apache.org/jira/browse/CXF-6528
>             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(DateUtil.java:170)
>         at 
> org.apache.commons.httpclient.util.DateUtil.parseDate(DateUtil.java:94)
> ====================
> Can you please restore the date conversion ?
> Thanks in advance.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to