2016-11-17 18:12 GMT+01:00 jieryn <[email protected]>:

> Yah, I am hard forcing the JacksonJsonProvider:
>
> import java.util.*;
> import javax.ws.rs.ApplicationPath;
> import javax.ws.rs.core.Application;
> import com.fasterxml.jackson.databind.ObjectMapper;
> import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
>
> public abstract class JacksonProviderApplication extends Application {
>   public Set<Object> getSingletons() {
>     return Collections.singleton((Object) new JacksonJsonProvider(new
> ObjectMapper()));
>   }
> }
>
> @ApplicationPath("api")
> public class API extends JacksonProviderApplication {
>   public Set<Class<?>> getClasses() {
>     return Collections.unmodifiableSet(new HashSet<Class<?>>(Arrays.
> asList(
>         com.acme.project.api.MyResource.class)));
>   }
> }
>
>
> But in the stack trace in original, Johnzon is the one doing the
> serializing..why?? I accept Jackson may have some bugs that Johnson
> fixes, but right now I just need to get Jackson back in place so all
> of our web/js stuff continues to work right. Any ideas?
>
>
Read again my answer, I'm not telling you to not use jackson but how to
make it work. Enforce for the jackson provider the consumers/produces
annotations to be application/json to let jackson have the same priority as
johnzon and be used instead otherwise johnzon being more specific is
prioritized over jackson.


>
> On Fri, Nov 11, 2016 at 4:03 PM, Romain Manni-Bucau
> <[email protected]> wrote:
> > Hi
> >
> > Jackson is buggy in its consumes/produces type. Wrap the provider forcing
> > it to application/json lr other but not wildcard
> >
> > Le 11 nov. 2016 21:50, "jieryn" <[email protected]> a écrit :
> >
> >> Hi, I'm hitting another migration issue. With 1.7, we see these
> providers:
> >>
> >> INFO: Using providers:
> >> Nov 11, 2016 3:43:19 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener configureFactory
> >> INFO:      com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider@
> 3703a400
> >> Nov 11, 2016 3:43:19 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener configureFactory
> >> INFO:      com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider@
> 735167e1
> >> Nov 11, 2016 3:43:19 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener configureFactory
> >> INFO:      org.apache.openejb.server.cxf.rs.EJBAccessExceptionMapper@
> >> 22105c76
> >> Nov 11, 2016 3:43:19 PM org.apache.cxf.jaxrs.utils.ResourceUtils
> >> checkMethodDispatcher
> >> WARNING: No resource methods have been found for resource class
> >> com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider
> >> Nov 11, 2016 3:43:19 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener logEndpoints
> >>
> >> With 7.0.1, we see these:
> >>
> >> INFO: Using readers:
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      org.apache.cxf.jaxrs.provider.PrimitiveTextProvider@629fe84
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      org.apache.cxf.jaxrs.provider.FormEncodingProvider@147c4523
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      org.apache.cxf.jaxrs.provider.MultipartProvider@551725e4
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      org.apache.cxf.jaxrs.provider.SourceProvider@760d6350
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      org.apache.cxf.jaxrs.provider.JAXBElementProvider@5cb6b81b
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      org.apache.openejb.server.cxf.rs.CxfRSService$
> >> TomEEJsonpProvider@ab2e887
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      org.apache.cxf.jaxrs.provider.StringTextProvider@4daead88
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider@
> 6b04689e
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      org.apache.cxf.jaxrs.provider.BinaryDataProvider@43aa767
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      org.apache.cxf.jaxrs.provider.DataSourceProvider@5b3c11ce
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO: Using writers:
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      org.apache.cxf.jaxrs.provider.StringTextProvider@4daead88
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      org.apache.cxf.jaxrs.provider.PrimitiveTextProvider@629fe84
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      org.apache.cxf.jaxrs.provider.FormEncodingProvider@147c4523
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      org.apache.cxf.jaxrs.provider.MultipartProvider@551725e4
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      org.apache.cxf.jaxrs.provider.SourceProvider@760d6350
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      org.apache.cxf.jaxrs.provider.JAXBElementProvider@5cb6b81b
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      org.apache.openejb.server.cxf.rs.CxfRSService$
> >> TomEEJsonpProvider@ab2e887
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider@
> 6b04689e
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      org.apache.cxf.jaxrs.provider.BinaryDataProvider@43aa767
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >> INFO:      org.apache.cxf.jaxrs.provider.DataSourceProvider@5b3c11ce
> >> Nov 11, 2016 3:45:53 PM
> >> org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
> >>
> >>
> >> This is causing problems for all of our arquillian tests:
> >>
> >> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 6.804
> >> sec <<< FAILURE! - in com.acme.project.api.MyObjResourceITest
> >> testGETMyObj1(com.acme.project.api.MyObjResourceITest)  Time elapsed:
> >> 0.427 sec  <<< ERROR!
> >> javax.ws.rs.client.ResponseProcessingException: Problem with reading
> >> the data, class com.acme.project.domain.jaxb.MyObj, ContentType:
> >> application/json.
> >>         at com.acme.project.api.MyObjResourceITest.testGETMyObj1(
> >> MyObjResourceITest.java)
> >> Caused by: org.apache.johnzon.mapper.MapperException: Unable to parse
> >> 1478897152352 to class java.util.Date
> >>         at com.acme.project.api.MyObjResourceITest.testGETMyObj1(
> >> MyObjResourceITest.java)
> >> Caused by: org.apache.johnzon.mapper.MapperException: Unable to parse
> >> 1478897152352 to class java.util.Date
> >>         at com.acme.project.api.MyObjResourceITest.testGETMyObj1(
> >> MyObjResourceITest.java)
> >>
> >> Johnzon looks cool, and we will consider it for the future, but right
> >> now, just need to get back to the old behavior with Jackson doing all
> >> of our transcoding. How can I get back to that behavior? We already
> >> have src/main/webapp/WEB-INF/openejb-jar.xml:
> >>
> >> <openejb-jar xmlns="http://www.openejb.org/openejb-jar/1.1";>
> >>   <pojo-deployment class-name="com.acme.project.api.API">
> >>     <properties>
> >>       cxf.jaxrs.skip-provider-scanning = true
> >>       cxf.jaxrs.providers = com.fasterxml.jackson.jaxrs.
> >> json.JacksonJsonProvider
> >>     </properties>
> >>   </pojo-deployment>
> >>
> >> Thanks!
> >>
>

Reply via email to