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?


On Fri, Nov 11, 2016 at 4:03 PM, Romain Manni-Bucau
<rmannibu...@gmail.com> 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" <jie...@gmail.com> 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