Tôi có một máy chủ tomee và từ android tôi có thể gọi phương thức GET và hoạt động tốt. Bây giờ tôi cố gắng để POST với thư viện bóng một thực thể trong đó có một java.util.Date lĩnh vực nhưng trong máy chủ tôi nhận được:Johnzon desirializing ngày qua phần còn lại
WARNING - Interceptor for {http://services.scol.csd.gr/}MeasureinfoFacadeREST has thrown exception, unwinding now
org.apache.johnzon.mapper.MapperException: java.text.ParseException: Unparseable date: "Sep 23, 2016 13:14:29"
WARNING - Exception in handleFault on interceptor o[email protected]60d6a046
org.apache.cxf.interceptor.Fault: java.text.ParseException: Unparseable date: "Sep 23, 2016 13:46:36"
Caused by: java.text.ParseException: Unparseable date: "Sep 23, 2016 13:14:29"
at java.text.DateFormat.parse(DateFormat.java:366)
at org.apache.johnzon.mapper.converter.DateConverter.fromString(DateConverter.java:49)
... 48 more
Tôi cố gắng để ghi đè Chuyển đổi johnzon như:
trong resources.xml:
<?xml version="1.0"?>
<resources>
<Service id="johnzon" class-name="org.apache.johnzon.jaxrs.ConfigurableJohnzonProvider">
accessModeName = field
</Service>
</resources>
trong OpenEJB-jar.xml
<?xml version="1.0" encoding="UTF-8"?>
<openejb-jar>
<pojo-deployment class-name="test">
<properties>
cxf.jaxrs.skip-provider-scanning = true
cxf.jaxrs.providers = johnzon,org.apache.openejb.server.cxf.rs.EJBAccessExceptionMapper
</properties>
</pojo-deployment>
</openejb-jar>
trong POJO triển khai tôi cung cấp cho một tên ngẫu nhiên như 'Test'
public class LocalDateConverter implements Converter<Date> {
@Override
public String toString(final Date instance) {
final Calendar cal = GregorianCalendar.getInstance();
cal.setTime(instance);
return DatatypeConverter.printDateTime(cal);
}
@Override
public Date fromString(final String text) {
return DatatypeConverter.parseDateTime(text).getTime();
}
}
và sau đó trong thực thể của tôi:
@JohnzonConverter(LocalDateConverter.class)
public Date getDay() {
return day;
}
@JohnzonConverter(LocalDateConverter.class)
public void setDay(Date day) {
this.day = day;
}
tôi thấy cấu hình này từ here
nhưng vấn đề vẫn còn.
Mọi đề xuất?
Có vẻ như đúng nhưng didnt sửa chữa nó – ddarellis
https://github.com/apache/johnzon/blob/982af7173b1596134c6ed9ce43d871863f58e285/johnzon- mapper/src/test/java/org/apache/johnzon/mapper/chuyển đổi/TimestampAdapterTest.java gần như chính xác những gì bạn làm ngoại trừ định dạng khác nhau tự hỏi nếu nó có thể là bạn sử dụng trên bản phát hành cũ hơn? –