You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by TomeeUser2 <pa...@gmail.com> on 2016/03/29 02:44:10 UTC
JAX-RS test client XMLGregorianCalendar not mapping correctly
Hi,
I am using XMLGregorianCalendar type in my REST call. Using Apache Johnzon
to serialize the data. However TomEE 7 is not desalinizing it back.
If I remove XMLGregorianCalendar elements everything works fine.
Can any one please help me to figure out what I am doing wrong ?
TomEE version 7, Java Veersion 8.
REQEST :
{"cardInfoId":1234456823146623,"amount":3000,"clientInfo":{"clientCode":100,"clientIdentifier":"100"},"description":"
","subscriptionId":"10021","startDate":{"XMLSchemaType":{"localPart":"dateTime","prefix":"","namespaceURI":"http://www.w3.org/2001/XMLSchema"},"year":2016,"fractionalSecond":0.570,"timezone":-240,"millisecond":570,"eonAndYear":2016,"minute":7,"second":59,"valid":true,"hour":21,"month":3,"day":28},"deleteDate":{"XMLSchemaType":{"localPart":"dateTime","prefix":"","namespaceURI":"http://www.w3.org/2001/XMLSchema"},"year":2016,"fractionalSecond":0.586,"timezone":-240,"millisecond":586,"eonAndYear":2016,"minute":7,"second":59,"valid":true,"hour":21,"month":3,"day":28}}
Exception :
20160328 21:07:59 WARN (PhaseInterceptorChain)
org.apache.cxf.phase.PhaseInterceptorChain [doDefaultLogging]:Interceptor
for {http://services.rest.cxf.bets.acs.com/}FCPRestService has thrown
exception, unwinding now
org.apache.johnzon.mapper.MapperException: java.lang.InstantiationException
at org.apache.johnzon.mapper.Mapper.mapObject(Mapper.java:613)
at org.apache.johnzon.mapper.Mapper.readObject(Mapper.java:569)
at
org.apache.johnzon.jaxrs.JohnzonMessageBodyReader.readFrom(JohnzonMessageBodyReader.java:76)
at
org.apache.johnzon.jaxrs.DelegateProvider.readFrom(DelegateProvider.java:51)
at
org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBodyReader(JAXRSUtils.java:1343)
at
org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBody(JAXRSUtils.java:1294)
at
org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameter(JAXRSUtils.java:826)
at
org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameters(JAXRSUtils.java:789)
at
org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:212)
at
org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:77)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at
org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:253)
at
org.apache.openejb.server.cxf.rs.CxfRsHttpListener.doInvoke(CxfRsHttpListener.java:237)
at
org.apache.tomee.webservices.CXFJAXRSFilter.doFilter(CXFJAXRSFilter.java:94)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at
org.apache.openejb.server.httpd.WebBeansFilter.doFilter(WebBeansFilter.java:52)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:666)
at
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2500)
at
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2489)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: java.lang.InstantiationException
at
org.apache.johnzon.mapper.access.BaseAccessMode$1.create(BaseAccessMode.java:159)
at org.apache.johnzon.mapper.Mapper.buildObject(Mapper.java:775)
at org.apache.johnzon.mapper.Mapper.toObject(Mapper.java:885)
at org.apache.johnzon.mapper.Mapper.toValue(Mapper.java:803)
at org.apache.johnzon.mapper.Mapper.buildObject(Mapper.java:791)
at org.apache.johnzon.mapper.Mapper.mapObject(Mapper.java:579)
... 39 more
Caused by: java.lang.InstantiationException
at
sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:48)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at
org.apache.johnzon.mapper.access.BaseAccessMode$1.create(BaseAccessMode.java:157)
... 44 more
--
View this message in context: http://tomee-openejb.979440.n4.nabble.com/JAX-RS-test-client-XMLGregorianCalendar-not-mapping-correctly-tp4677982.html
Sent from the TomEE Users mailing list archive at Nabble.com.
Re: JAX-RS test client XMLGregorianCalendar not mapping correctly
Posted by Romain Manni-Bucau <rm...@gmail.com>.
@JohnzonConverter should work on the field/method. Otherwise you need
to register a custom @Provider extending ConfigurableJohnzonProvider
with a custom Mapper with the converter.
Romain Manni-Bucau
@rmannibucau | Blog | Github | LinkedIn | Tomitriber
2016-03-29 14:34 GMT+02:00 TomeeUser2 <pa...@gmail.com>:
> Hi Romain,
>
> Thanks for reply. Can you please tell me how will I register it with TomEE ?
>
> -Regards,
> Shan
>
>
>
> --
> View this message in context: http://tomee-openejb.979440.n4.nabble.com/JAX-RS-test-client-XMLGregorianCalendar-not-mapping-correctly-tp4677982p4677992.html
> Sent from the TomEE Users mailing list archive at Nabble.com.
Re: JAX-RS test client XMLGregorianCalendar not mapping correctly
Posted by TomeeUser2 <pa...@gmail.com>.
Hi Romain,
Thanks for reply. Can you please tell me how will I register it with TomEE ?
-Regards,
Shan
--
View this message in context: http://tomee-openejb.979440.n4.nabble.com/JAX-RS-test-client-XMLGregorianCalendar-not-mapping-correctly-tp4677982p4677992.html
Sent from the TomEE Users mailing list archive at Nabble.com.
Re: JAX-RS test client XMLGregorianCalendar not mapping correctly
Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi
for calendar* you need an adapter/converter, probably something like
https://gist.github.com/rmannibucau/b8d06cbf8ff061963ab1 (ensure to
adjust timezones to not get surprises)
Romain Manni-Bucau
@rmannibucau | Blog | Github | LinkedIn | Tomitriber
2016-03-29 2:44 GMT+02:00 TomeeUser2 <pa...@gmail.com>:
> Hi,
> I am using XMLGregorianCalendar type in my REST call. Using Apache Johnzon
> to serialize the data. However TomEE 7 is not desalinizing it back.
>
> If I remove XMLGregorianCalendar elements everything works fine.
>
> Can any one please help me to figure out what I am doing wrong ?
>
> TomEE version 7, Java Veersion 8.
>
> REQEST :
>
> {"cardInfoId":1234456823146623,"amount":3000,"clientInfo":{"clientCode":100,"clientIdentifier":"100"},"description":"
> ","subscriptionId":"10021","startDate":{"XMLSchemaType":{"localPart":"dateTime","prefix":"","namespaceURI":"http://www.w3.org/2001/XMLSchema"},"year":2016,"fractionalSecond":0.570,"timezone":-240,"millisecond":570,"eonAndYear":2016,"minute":7,"second":59,"valid":true,"hour":21,"month":3,"day":28},"deleteDate":{"XMLSchemaType":{"localPart":"dateTime","prefix":"","namespaceURI":"http://www.w3.org/2001/XMLSchema"},"year":2016,"fractionalSecond":0.586,"timezone":-240,"millisecond":586,"eonAndYear":2016,"minute":7,"second":59,"valid":true,"hour":21,"month":3,"day":28}}
>
> Exception :
> 20160328 21:07:59 WARN (PhaseInterceptorChain)
> org.apache.cxf.phase.PhaseInterceptorChain [doDefaultLogging]:Interceptor
> for {http://services.rest.cxf.bets.acs.com/}FCPRestService has thrown
> exception, unwinding now
> org.apache.johnzon.mapper.MapperException: java.lang.InstantiationException
> at org.apache.johnzon.mapper.Mapper.mapObject(Mapper.java:613)
> at org.apache.johnzon.mapper.Mapper.readObject(Mapper.java:569)
> at
> org.apache.johnzon.jaxrs.JohnzonMessageBodyReader.readFrom(JohnzonMessageBodyReader.java:76)
> at
> org.apache.johnzon.jaxrs.DelegateProvider.readFrom(DelegateProvider.java:51)
> at
> org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBodyReader(JAXRSUtils.java:1343)
> at
> org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBody(JAXRSUtils.java:1294)
> at
> org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameter(JAXRSUtils.java:826)
> at
> org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameters(JAXRSUtils.java:789)
> at
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:212)
> at
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:77)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
> at
> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:253)
> at
> org.apache.openejb.server.cxf.rs.CxfRsHttpListener.doInvoke(CxfRsHttpListener.java:237)
> at
> org.apache.tomee.webservices.CXFJAXRSFilter.doFilter(CXFJAXRSFilter.java:94)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
> at
> org.apache.openejb.server.httpd.WebBeansFilter.doFilter(WebBeansFilter.java:52)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
> at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44)
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
> at
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
> at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
> at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:666)
> at
> org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2500)
> at
> org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2489)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.IllegalStateException: java.lang.InstantiationException
> at
> org.apache.johnzon.mapper.access.BaseAccessMode$1.create(BaseAccessMode.java:159)
> at org.apache.johnzon.mapper.Mapper.buildObject(Mapper.java:775)
> at org.apache.johnzon.mapper.Mapper.toObject(Mapper.java:885)
> at org.apache.johnzon.mapper.Mapper.toValue(Mapper.java:803)
> at org.apache.johnzon.mapper.Mapper.buildObject(Mapper.java:791)
> at org.apache.johnzon.mapper.Mapper.mapObject(Mapper.java:579)
> ... 39 more
> Caused by: java.lang.InstantiationException
> at
> sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:48)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> at
> org.apache.johnzon.mapper.access.BaseAccessMode$1.create(BaseAccessMode.java:157)
> ... 44 more
>
>
>
>
> --
> View this message in context: http://tomee-openejb.979440.n4.nabble.com/JAX-RS-test-client-XMLGregorianCalendar-not-mapping-correctly-tp4677982.html
> Sent from the TomEE Users mailing list archive at Nabble.com.