In JAX-RS 2.0 clients do not scan your classpath for classes annotated with @Provider. So you have to manually register the JAckson2 provider.
Resteasy does provide a way to package up built-in providers. If there is a META-INF/services/javax.ws.rs.ext.Providers file, resteasy will register all classes listed in this file. This is a resteasy specific thing. So, what you could do instead is load the resteasy integration for Jackson2: <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jackson2-provider</artifactId> <scope>provided</scope> </dependency> On 8/19/2013 8:47 AM, Juergen Zimmermann wrote: > I’m using WF 8.0.0.Alpha4 and upgraded RESTEasy to 3.0.3. No I changed > my maven dependencies to exclude > > org.codehaus.jackson from org.jboss.resteasy:resteasy-jackson-provider, > and I added this dependency: > > <dependency> > > <groupId>com.fasterxml.jackson.jaxrs</groupId> > > <artifactId>jackson-jaxrs-json-provider</artifactId> > > <scope>provided</scope> > > </dependency> > > However, I’m getting the following classpath issue on the invoking > (test) client side. Any hint is appreciated. > > The stacktrace: > > javax.ws.rs.ProcessingException: Unable to invoke request > > at > org.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient4Engine.invoke(ApacheHttpClient4Engine.java:238) > > at > org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.invoke(ClientInvocation.java:388) > > at > org.jboss.resteasy.client.jaxrs.internal.ClientInvocationBuilder.post(ClientInvocationBuilder.java:195) > > at > de.shop.kundenverwaltung.rest.KundeResourceTest.createPrivatkunde(KundeResourceTest.java:310) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > at java.lang.reflect.Method.invoke(Method.java:491) > > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > > at > org.jboss.arquillian.junit.Arquillian$6$1.invoke(Arquillian.java:270) > > at > org.jboss.arquillian.container.test.impl.execution.LocalTestExecuter.execute(LocalTestExecuter.java:60) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > at java.lang.reflect.Method.invoke(Method.java:491) > > at > org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) > > at > org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99) > > at > org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81) > > at > org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135) > > at > org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115) > > at > org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67) > > at > org.jboss.arquillian.container.test.impl.execution.ClientTestExecuter.execute(ClientTestExecuter.java:53) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > at java.lang.reflect.Method.invoke(Method.java:491) > > at > org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) > > at > org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99) > > at > org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81) > > at > org.jboss.arquillian.container.test.impl.client.ContainerEventController.createContext(ContainerEventController.java:142) > > at > org.jboss.arquillian.container.test.impl.client.ContainerEventController.createTestContext(ContainerEventController.java:129) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > at java.lang.reflect.Method.invoke(Method.java:491) > > at > org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) > > at > org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) > > at > org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:89) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > at java.lang.reflect.Method.invoke(Method.java:491) > > at > org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) > > at > org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) > > at > org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > at java.lang.reflect.Method.invoke(Method.java:491) > > at > org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) > > at > org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) > > at > org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > at java.lang.reflect.Method.invoke(Method.java:491) > > at > org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) > > at > org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) > > at > org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135) > > at > org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.test(EventTestRunnerAdaptor.java:111) > > at > org.jboss.arquillian.junit.Arquillian$6.evaluate(Arquillian.java:263) > > at > org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:226) > > at > org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314) > > at > org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46) > > at > org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:240) > > at > org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) > > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) > > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) > > at > org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) > > at > org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) > > at > org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) > > at > org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) > > at > org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) > > at > org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:185) > > at > org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314) > > at > org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46) > > at > org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199) > > at > org.junit.runners.ParentRunner.run(ParentRunner.java:309) > > at > org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147) > > at > org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) > > at > org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) > > at > org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) > > at > org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) > > at > org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) > > at > org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) > > Caused by: javax.ws.rs.ProcessingException: could not find writer for > content-type application/json type: > de.shop.kundenverwaltung.domain.Privatkunde > > at > org.jboss.resteasy.core.interception.ClientWriterInterceptorContext.throwWriterNotFoundException(ClientWriterInterceptorContext.java:40) > > at > org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.getWriter(AbstractWriterInterceptorContext.java:138) > > at > org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:117) > > at > org.jboss.resteasy.plugins.interceptors.encoding.GZIPEncodingInterceptor.aroundWriteTo(GZIPEncodingInterceptor.java:100) > > at > org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:122) > > at > org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.writeRequestBody(ClientInvocation.java:322) > > at > org.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient4Engine.writeRequestBodyToOutputStream(ApacheHttpClient4Engine.java:509) > > at > org.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient4Engine.buildEntity(ApacheHttpClient4Engine.java:475) > > at > org.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient4Engine.loadHttpMethod(ApacheHttpClient4Engine.java:374) > > at > org.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient4Engine.invoke(ApacheHttpClient4Engine.java:232) > > ... 86 more > > > > ------------------------------------------------------------------------------ > Get 100% visibility into Java/.NET code with AppDynamics Lite! > It's a free troubleshooting tool designed for production. > Get down to code-level detail for bottlenecks, with <2% overhead. > Download for free and get started troubleshooting in minutes. > http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Resteasy-users mailing list > Resteasy-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/resteasy-users > -- Bill Burke JBoss, a division of Red Hat http://bill.burkecentral.com ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk _______________________________________________ Resteasy-users mailing list Resteasy-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/resteasy-users