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