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! > >> >
