From: Mario R. <mar...@ll...> - 2016-08-04 17:52:02
|
Hi, I have a Java REST webservice that connects to a Node.js REST service via restEasy client. While I was using the old org.codehaus.jackson.* version it was working fine, then I'm trying to update to jackson2 provider but now I'm getting an error when the restEasy client on my Java app is trying to post a message to the nodeJS service. Exception in thread "Thread-13" java.lang.NoSuchMethodErr or: com.fasterxml.jackson.databind.type.TypeFactory.constructType(Ljava/lang/refl ect/Type;Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/JavaType; at com.fasterxml.jackson.module.jaxb.JaxbAnnotati onIntrospector._fullSerializationType(JaxbAnnotationIntrospector.java:1474) at com.fasterxml.jackson.module.jaxb.JaxbAnnotati onIntrospector._findContentAdapter(JaxbAnnotationIntrospector.java:1410) at com.fasterxml.jackson.module.jaxb.JaxbAnnotati onIntrospector.findSerializationContentConverter(JaxbAnnotationIntrospector.java: 800) at com.fasterxml.jackson.databind.introspect.Anno tationIntrospectorPair.findSerializationContentConverter(AnnotationIntrospectorPa ir.java:372) at com.fasterxml.jackson.databind.ser.std.StdSeri alizer.findConvertingContentSerializer(StdSerializer.java:417) at com.fasterxml.jackson.databind.ser.std.AsArray SerializerBase.createContextual(AsArraySerializerBase.java:198) at com.fasterxml.jackson.databind.SerializerProvi der.handlePrimaryContextualization(SerializerProvider.java:928) at com.fasterxml.jackson.databind.SerializerProvi der.findPrimaryPropertySerializer(SerializerProvider.java:626) at com.fasterxml.jackson.databind.ser.impl.Proper tySerializerMap.findAndAddPrimarySerializer(PropertySerializerMap.java:72) at com.fasterxml.jackson.databind.ser.BeanPropert yWriter._findAndAddDynamic(BeanPropertyWriter.java:834) at com.fasterxml.jackson.databind.ser.BeanPropert yWriter.serializeAsField(BeanPropertyWriter.java:650) at com.fasterxml.jackson.databind.ser.std.BeanSer ializerBase.serializeFields(BeanSerializerBase.java:678) at com.fasterxml.jackson.databind.ser.BeanSeriali zer.serialize(BeanSerializer.java:157) at com.fasterxml.jackson.databind.ser.std.Collect ionSerializer.serializeContents(CollectionSerializer.java:149) at com.fasterxml.jackson.databind.ser.std.Collect ionSerializer.serialize(CollectionSerializer.java:112) at com.fasterxml.jackson.databind.ser.std.Collect ionSerializer.serialize(CollectionSerializer.java:25) at com.fasterxml.jackson.databind.ser.DefaultSeri alizerProvider.serializeValue(DefaultSerializerProvider.java:253) at com.fasterxml.jackson.databind.ObjectWriter$Pr efetch.serialize(ObjectWriter.java:1425) at com.fasterxml.jackson.databind.ObjectWriter.wr iteValue(ObjectWriter.java:930) at org.jboss.resteasy.plugins.providers.jackson.R esteasyJackson2Provider.writeTo(ResteasyJackson2Provider.java:207) at org.jboss.resteasy.core.interception.AbstractW riterInterceptorContext.writeTo(AbstractWriterInterceptorContext.java:131) at org.jboss.resteasy.core.interception.AbstractW riterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:120) at org.jboss.resteasy.plugins.interceptors.encodi ng.GZIPEncodingInterceptor.aroundWriteTo(GZIPEncodingInterceptor.java:100) at org.jboss.resteasy.core.interception.AbstractW riterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:124) at org.jboss.resteasy.client.jaxrs.internal.Clien tInvocation.writeRequestBody(ClientInvocation.java:370) at org.jboss.resteasy.client.jaxrs.engines.Apache HttpClient4Engine.writeRequestBodyToOutputStream(ApacheHttpClient4Engine.java:558 ) at org.jboss.resteasy.client.jaxrs.engines.Apache HttpClient4Engine.buildEntity(ApacheHttpClient4Engine.java:524) at org.jboss.resteasy.client.jaxrs.engines.Apache HttpClient4Engine.loadHttpMethod(ApacheHttpClient4Engine.java:423) at org.jboss.resteasy.client.jaxrs.engines.Apache HttpClient4Engine.invoke(ApacheHttpClient4Engine.java:281) at org.jboss.resteasy.client.jaxrs.internal.Clien tInvocation.invoke(ClientInvocation.java:436) at org.jboss.resteasy.client.jaxrs.internal.proxy .ClientInvoker.invoke(ClientInvoker.java:102) at org.jboss.resteasy.client.jaxrs.internal.proxy .ClientProxy.invoke(ClientProxy.java:76) at com.sun.proxy.$Proxy56.saveOrders(Unknown Sour ce) at com.llbean.order.history.extractor.writer.Serv iceOrderWriter.writeOrders(ServiceOrderWriter.java:67) at com.llbean.order.history.extractor.migration.W orker.execute(Worker.java:29) at com.llbean.order.history.extractor.migration.A bstractExtractorTemplate.executeWorkers(AbstractExtractorTemplate.java:43) at com.llbean.order.history.extractor.migration.A bstractExtractorTemplate.extract(AbstractExtractorTemplate.java:31) at com.llbean.order.history.extractor.rest.Initia tionResource$1.run(InitiationResource.java:48) at java.lang.Thread.run(Thread.java:745) I found this page http://stackoverflow.com/questions/21780208/resteasy-and-jackson-incompatibility-nosuchmethodexception making reference to an incompatibility on earlier versions of restEasy and jackson2, however, I'm using Jackson 2.7 and restEasy 3.0.16. Here is the gradle build settings: // RestEasy (Server side JAX-RS implementation) compile 'org.jboss.resteasy:resteasy-jaxrs:3.0.16.Final' compile 'org.jboss.resteasy:resteasy-guice:3.0.16.Final' compile 'org.jboss.resteasy:resteasy-servlet-initializer:3.0.16.Final' compile 'org.jboss.resteasy:resteasy-jackson2-provider:3.0.16.Final' // RESTEasy (JAX-RS client) compile 'org.jboss.resteasy:resteasy-client:3.0.16.Final' Any clue what I'm missing ? Mario Rodríguez Systems Analyst | Customer Technology Team | L.L.Bean Inc. CR P: (506) 2201-0183 | US P: (207) 552-6677 ext. 40083 |