Hello, I am stumbling on why my CXF restful calls are failing now. I've asked on the CXF user group and Sergey suggested I look at Christian's tutorial code, which is what I used to setup the myapp up initially. It was working when I was on Karaf-3.0.3 with no issues, but since upgrading to 3.0.4 I began to use a KAR file to make team development easier.
I am hoping that I am just missing a bundle in my CXF feature, but I am not sure. I have included it along with the error below. <?xml version="1.0" encoding="UTF-8"?> <features name="myapp-karaf-1.0.0" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"> <repository>mvn:org.apache.cxf.karaf/apache-cxf/3.1.1/xml/features</repository> <repository>mvn:org.apache.camel.karaf/apache-camel/2.15.2/xml/features</repository> <repository>mvn:org.ops4j.pax.jdbc/pax-jdbc-features/0.6.0/xml/features</repository> <repository>mvn:org.apache.karaf.features/spring/3.0.3/xml/features</repository> <feature name="hibernate-4-jpa21" description="Hibernate 4.3.10 JPA 2.1 persistence engine support" install="manual" version="4.3.10"> <bundle start-level="30">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle> <bundle start-level="30">mvn:org.hibernate.javax.persistence/hibernate-jpa-2.1-api/1.0.0.Final</bundle> <bundle start-level="30">mvn:org.apache.geronimo.specs/geronimo-servlet_3.0_spec/1.0</bundle> <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/2.7.7_5</bundle> <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/1.8.4_1</bundle> <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.dom4j/1.6.1_5</bundle> <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.serp/1.15.1_1</bundle> <bundle>mvn:com.fasterxml/classmate/1.1.0</bundle> <bundle>mvn:org.javassist/javassist/3.18.2-GA</bundle> <bundle>mvn:org.jboss.spec.javax.security.jacc/jboss-jacc-api_1.4_spec/1.0.2.Final</bundle> <bundle>wrap:mvn:org.jboss/jandex/1.2.4.Final</bundle> <bundle>mvn:org.jboss.logging/jboss-logging/3.1.4.GA</bundle> <bundle>mvn:org.hibernate.common/hibernate-commons-annotations/4.0.5.Final</bundle> <bundle>mvn:com.zaxxer/HikariCP-java6/2.3.8</bundle> <bundle>mvn:org.hibernate/hibernate-core/4.3.10.Final</bundle> <bundle>mvn:org.hibernate/hibernate-hikaricp/4.3.10.Final</bundle> <bundle>mvn:org.hibernate/hibernate-envers/4.3.10.Final</bundle> <bundle>mvn:org.hibernate/hibernate-entitymanager/4.3.10.Final</bundle> <bundle>mvn:org.hibernate/hibernate-osgi/4.3.10.Final</bundle> </feature> <feature name="karaf-general" description="MYAPP general requirements for Karaf" install="auto" version="1.0.0"> <feature>jndi</feature> <feature>jdbc</feature> <feature>jms</feature> <feature>http</feature> <feature>http-whiteboard</feature> <feature>jetty</feature> <feature>war</feature> <feature>webconsole</feature> <feature>eventadmin</feature> <feature>blueprint-web</feature> <feature>aries-annotation</feature> <bundle>mvn:javax.annotation/javax.annotation-api/1.2</bundle> </feature> <feature name="karaf-database" description="MYAPP database requirements for Karaf" install="manual" version="1.0.0"> <feature>jpa</feature> <feature version="[1.0.0,2)">transaction</feature> <feature version="0.6.0">pax-jdbc-mysql</feature> <feature version="0.6.0">pax-jdbc-pool-dbcp2</feature> <feature version="0.6.0">pax-jdbc-config</feature> <bundle start-level="30">mvn:mysql/mysql-connector-java/5.1.35</bundle> <bundle start-level="30">mvn:org.apache.aries.jpa/org.apache.aries.jpa.blueprint.aries/1.0.2</bundle> </feature> <feature name="karaf-cxf" description="MYAPP cxf requirements for Karaf" install="manual" version="3.1.1"> <feature version="3.1.1" >cxf</feature> <feature version="3.1.1" >cxf-core</feature> <feature version="3.1.1" >cxf-wsdl</feature> <feature version="3.1.1" >cxf-http</feature> <feature version="3.1.1" >cxf-http-jetty</feature> <feature version="3.1.1" >cxf-jaxws</feature> <feature version="3.1.1" >cxf-jaxrs</feature> <bundle>mvn:org.apache.cxf/cxf-rt-frontend-jaxrs/3.1.1</bundle> <bundle>mvn:javax.ws.rs/javax.ws.rs-api/2.0.1</bundle> </feature> <feature name="karaf-jackson" description="MYAPP JSON requirements for Karaf" install="auto" version="2.5.4"> <bundle>mvn:com.fasterxml.jackson.core/jackson-core/2.5.4</bundle> <bundle>mvn:com.fasterxml.jackson.core/jackson-annotations/2.5.4</bundle> <bundle>mvn:com.fasterxml.jackson.core/jackson-databind/2.5.4</bundle> <bundle>mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/2.5.4</bundle> <bundle>mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/2.5.4</bundle> <bundle>mvn:org.codehaus.jackson/jackson-jaxrs/1.9.13</bundle> <bundle>mvn:org.codehaus.jackson/jackson-core-asl/1.9.13</bundle> <bundle>mvn:org.codehaus.jackson/jackson-mapper-asl/1.9.13</bundle> </feature> <feature name="karaf-camel" description="MYAPP camel requirements for Karaf" install="auto" version="2.15.2"> <feature version="2.15.2" >camel</feature> <feature version="2.15.2" >camel-base64</feature> <feature version="2.15.2" >camel-cache</feature> <feature version="2.15.2" >camel-context</feature> <feature version="2.15.2" >camel-couchdb</feature> <feature version="2.15.2" >camel-eventadmin</feature> <feature version="2.15.2" >camel-jetty</feature> <feature version="2.15.2" >camel-jackson</feature> <feature version="2.15.2" >camel-jdbc</feature> <feature version="2.15.2" >camel-jms</feature> <feature version="2.15.2" >camel-jmx</feature> <feature version="2.15.2" >camel-jpa</feature> <feature version="2.15.2" >camel-jsonpath</feature> <feature version="2.15.2" >camel-paxlogging</feature> <feature version="2.15.2" >camel-quartz2</feature> <feature version="2.15.2" >camel-rabbitmq</feature> <feature version="2.15.2" >camel-stream</feature> <feature version="2.15.2" >camel-sql</feature> <feature version="2.15.2" >camel-test</feature> </feature> <!-- needed for some myapp camel routes --> <feature name="karaf-spring" description="MYAPP springframework requirements for Karaf" install="auto" version="3.0.3"> <feature version="1.2.1">spring-dm</feature> <feature version="3.2.11.RELEASE_1">spring</feature> <feature version="3.2.11.RELEASE_1">spring-jdbc</feature> <feature version="3.2.11.RELEASE_1">spring-jms</feature> <feature version="3.2.11.RELEASE_1">spring-orm</feature> <feature version="3.2.11.RELEASE_1">spring-tx</feature> <feature version="3.2.11.RELEASE_1">spring-web</feature> </feature> <feature name='myapp-basic' description='MYAPP basic requirements to run in Karaf' version='1.0.0'> <details>${project.description}</details> <feature version="1.0.0" >karaf-general</feature> <feature version="1.0.0" >karaf-database</feature> <feature version="4.3.10" >hibernate-4-jpa21</feature> <feature version="3.1.1" >karaf-cxf</feature> <feature version="2.5.4" >karaf-jackson</feature> <feature version="2.15.2" >karaf-camel</feature> <feature version="3.0.3" >karaf-spring</feature> </feature> </features> 2015-07-07 12:39:37,869 | WARN | tp1522718697-168 | PhaseInterceptorChain | 181 - org.apache.cxf.cxf-core - 3.1.1 | Interceptor for {http://xxx/}$ProductLineServiceImpl777114985 has thrown exception, unwinding now java.lang.RuntimeException: java.lang.ClassNotFoundException: org.glassfish.jersey.internal.RuntimeDelegateImpl not found by javax.ws.rs-api [244] at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:152) at javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:120) at javax.ws.rs.core.Response$ResponseBuilder.newInstance(Response.java:848) at javax.ws.rs.core.Response.status(Response.java:613) at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.processResponse(JAXRSOutInterceptor.java:111)[195:org.apache.cxf.cxf-rt-frontend-jaxrs:3.1.1] at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(JAXRSOutInterceptor.java:81)[195:org.apache.cxf.cxf-rt-frontend-jaxrs:3.1.1] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)[181:org.apache.cxf.cxf-core:3.1.1] at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:83)[181:org.apache.cxf.cxf-core:3.1.1] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)[181:org.apache.cxf.cxf-core:3.1.1] at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)[181:org.apache.cxf.cxf-core:3.1.1] at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:251)[188:org.apache.cxf.cxf-rt-transports-http:3.1.1] at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234)[188:org.apache.cxf.cxf-rt-transports-http:3.1.1] at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208)[188:org.apache.cxf.cxf-rt-transports-http:3.1.1] at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)[188:org.apache.cxf.cxf-rt-transports-http:3.1.1] at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171)[188:org.apache.cxf.cxf-rt-transports-http:3.1.1] at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:293)[188:org.apache.cxf.cxf-rt-transports-http:3.1.1] at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:217)[188:org.apache.cxf.cxf-rt-transports-http:3.1.1] at javax.servlet.http.HttpServlet.service(HttpServlet.java:575)[70:org.apache.geronimo.specs.geronimo-servlet_3.0_spec:1.0.0] at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:268)[188:org.apache.cxf.cxf-rt-transports-http:3.1.1] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_79] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_79] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_79] at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_79] at org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54)[12:org.apache.aries.proxy.impl:1.0.4] at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119)[12:org.apache.aries.proxy.impl:1.0.4] at org.apache.aries.blueprint.proxy.javax.servlet.http.$HttpServlet648237498.service(Unknown Source)[70:org.apache.geronimo.specs.geronimo-servlet_3.0_spec:1.0.0] at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:69)[117:org.ops4j.pax.web.pax-web-jetty:3.2.3] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:240)[117:org.ops4j.pax.web.pax-web-jetty:3.2.3] at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:75)[117:org.ops4j.pax.web.pax-web-jetty:3.2.3] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.eclipse.jetty.server.Server.handle(Server.java:370)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] at java.lang.Thread.run(Thread.java:745)[:1.7.0_79] Caused by: java.lang.ClassNotFoundException: org.glassfish.jersey.internal.RuntimeDelegateImpl not found by javax.ws.rs-api [244] at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532) at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75) at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955) at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_79] at java.lang.Class.forName0(Native Method)[:1.7.0_79] at java.lang.Class.forName(Class.java:191)[:1.7.0_79] at javax.ws.rs.ext.FactoryFinder.newInstance(FactoryFinder.java:115) at javax.ws.rs.ext.FactoryFinder.find(FactoryFinder.java:225) at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:135) ... 51 more 2015-07-07 12:39:37,954 | INFO | tp1522718697-168 | LoggingOutInterceptor | 181 - org.apache.cxf.cxf-core - 3.1.1 | Outbound Message --------------------------- ID: 1 Response-Code: 500 Encoding: UTF-8 Content-Type: application/json Headers: {} Payload: <ns1:XMLFault xmlns:ns1="http://cxf.apache.org/bindings/xformat"><ns1:faultstring xmlns:ns1="http://cxf.apache.org/bindings/xformat">java.lang.RuntimeException: java.lang.ClassNotFoundException: org.glassfish.jersey.internal.RuntimeDelegateImpl not found by javax.ws.rs-api [244]</ns1:faultstring></ns1:XMLFault> --------------------------------------
