Le 22 nov. 2016 02:27, "jieryn" <[email protected]> a écrit : > > Yes, I still see it listed. Can I just disable Johnzon so I can get my > Arq tests back and working again? It would be the easiest solution at > this point, I hope.. >
Dont think so but first time it is not a 5mn fix. Can you share a failling arquillian project on github? Suspect one of the config is wrong. > On Thu, Nov 17, 2016 at 1:56 PM, Romain Manni-Bucau > <[email protected]> wrote: > > Do you see it listed in the providers i startup logs? it should be sorted > > and johnzon is after user providers if they have the same media type. > > > > All the dicussion we had was for server providers, for client ones you need > > to register it on the client. > > > > > > Romain Manni-Bucau > > @rmannibucau <https://twitter.com/rmannibucau> | Blog > > <https://blog-rmannibucau.rhcloud.com> | Old Blog > > <http://rmannibucau.wordpress.com> | Github < https://github.com/rmannibucau> | > > LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory > > <https://javaeefactory-rmannibucau.rhcloud.com> > > > > 2016-11-17 19:39 GMT+01:00 jieryn <[email protected]>: > > > >> Ok, I see what you mean, but Johnzon is still getting invoked even > >> after I subclassed the JacksonJsonProvider and coded the > >> @Produces/@Consumes with specific media types. > >> > >> public abstract class MyJacksonProviderApplication extends Application { > >> @Override > >> public Set<Object> getSingletons() { > >> return Collections > >> .singleton((Object) new MyJacksonJsonProvider(new ObjectMapper())); > >> } > >> } > >> > >> @Provider > >> @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) > >> @Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) > >> public class MyJacksonJsonProvider extends JacksonJsonProvider > >> { > >> public MyJacksonJsonProvider() { > >> super(); > >> } > >> > >> public MyJacksonJsonProvider(final Annotations... annotationsToUse) { > >> super(annotationsToUse); > >> } > >> > >> public MyJacksonJsonProvider(final ObjectMapper mapper) { > >> super(mapper); > >> } > >> > >> public MyJacksonJsonProvider(final ObjectMapper mapper, > >> final Annotations[] annotationsToUse) { > >> super(mapper, annotationsToUse); > >> } > >> } > >> > >> still Johnzon is getting invoked here: > >> > >> testGet1(MyResourceTest) Time elapsed: 0.498 sec <<< ERROR! > >> javax.ws.rs.client.ResponseProcessingException: Problem with reading > >> the data, class My, ContentType: application/json. > >> at MyResourceTest.testGet1(MyResourceTest.java) > >> Caused by: org.apache.johnzon.mapper.MapperException: Unable to parse > >> 0 to class java.util.Date > >> > >> Even with src/main/webapp/WEB-INF/openejb-jar.xml in the Arquillian web > >> archive: > >> > >> <openejb-jar xmlns="http://www.openejb.org/openejb-jar/1.1"> > >> <pojo-deployment class-name="jaxrs-application"> > >> <properties> > >> cxf.jaxrs.providers = com.acme.project.api.MyJacksonJsonProvider > >> </properties> > >> </pojo-deployment> > >> </openejb-jar> > >> > >> > >> Is there some way I can just disable Johnzon? > >> > >> > >> On Thu, Nov 17, 2016 at 12:43 PM, Romain Manni-Bucau > >> <[email protected]> wrote: > >> > then add it too ;) > >> > > >> > point is to not use the default jackson one which is */* > >> > > >> > */* = lower priority ever > >> > > >> > > >> > Romain Manni-Bucau > >> > @rmannibucau <https://twitter.com/rmannibucau> | Blog > >> > <https://blog-rmannibucau.rhcloud.com> | Old Blog > >> > <http://rmannibucau.wordpress.com> | Github <https://github.com/ > >> rmannibucau> | > >> > LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory > >> > <https://javaeefactory-rmannibucau.rhcloud.com> > >> > > >> > 2016-11-17 18:43 GMT+01:00 jieryn <[email protected]>: > >> > > >> >> I have to support application/xml too though. > >> >> > >> >> On Thu, Nov 17, 2016 at 12:39 PM, Romain Manni-Bucau > >> >> <[email protected]> wrote: > >> >> > replace jackson provider by: > >> >> > > >> >> > @Provider > >> >> > @Consumes("application/json") > >> >> > @Provides("application/json") > >> >> > public class MyProvider extends JacksonXXXProvider {} > >> >> > > >> >> > And register this provider instead of jackson one > >> >> > > >> >> > > >> >> > > >> >> > Romain Manni-Bucau > >> >> > @rmannibucau <https://twitter.com/rmannibucau> | Blog > >> >> > <https://blog-rmannibucau.rhcloud.com> | Old Blog > >> >> > <http://rmannibucau.wordpress.com> | Github <https://github.com/ > >> >> rmannibucau> | > >> >> > LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory > >> >> > <https://javaeefactory-rmannibucau.rhcloud.com> > >> >> > > >> >> > 2016-11-17 18:37 GMT+01:00 jieryn <[email protected]>: > >> >> > > >> >> >> I think I am doing that, sorry I didn't include it.. > >> >> >> > >> >> >> import javax.xml.bind.annotation.*; > >> >> >> import javax.ejb.*; > >> >> >> import javax.ws.rs.*; > >> >> >> import javax.ws.rs.core.*; > >> >> >> > >> >> >> @XmlAccessorType(XmlAccessType.FIELD) > >> >> >> @XmlRootElement > >> >> >> public class My > >> >> >> { > >> >> >> private String message; > >> >> >> public final String getMessage() { > >> >> >> return message; > >> >> >> } > >> >> >> public final void setMessage(final String message) { > >> >> >> this.message = message; > >> >> >> } > >> >> >> } > >> >> >> > >> >> >> @Path("my") > >> >> >> @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) > >> >> >> @Singleton > >> >> >> public class MyResource > >> >> >> { > >> >> >> @GET > >> >> >> public My get() { > >> >> >> return new My("thing-1"); > >> >> >> } > >> >> >> } > >> >> >> > >> >> >> > >> >> >> ...can I just disable Johnzon with some configuration file under > >> >> >> src/main/tomee/conf/? or src/main/webapp/WEB-INF/? > >> >> >> > >> >> >> > >> >> >> On Thu, Nov 17, 2016 at 12:28 PM, Romain Manni-Bucau > >> >> >> <[email protected]> wrote: > >> >> >> > 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! > >> >> >> >> >> > >> >> >> >> > >> >> >> > >> >> > >>
