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

Reply via email to