Thanks Sergey. I did use Christian's links when setting the karaf cxf restful up. I'll go through it again. However, this was working on karaf-3.0.3 with no issues.
Kind regards, Jason -----Original Message----- From: Sergey Beryozkin [mailto:[email protected]] Sent: Wednesday, July 08, 2015 3:01 AM To: [email protected] Subject: Re: HELP - org.glassfish.jersey.internal.RuntimeDelegateImpl not found by javax.ws.rs In meantime I've also updated the code which does not in your case to avoid going the RuntimeDelegate path: http://git-wip-us.apache.org/repos/asf/cxf/commit/34234618 So simple services (those which do not create JAX-RS Response or use various JAX-RS utility calls like MediaType.valueOf("a/b"), etc, in the application code) will likely need no service mix spec at all... Cheers, Sergey On 08/07/15 10:38, Sergey Beryozkin wrote: > I guess, if you start with a pure Karaf, as opposed to a ESB package, > then have a look at > > http://www.liquid-reality.de/display/liquid/2011/12/22/Karaf+Tutorial+ > Part+4+-+CXF+Services+in+OSGi > > > and may be > > http://www.liquid-reality.de/display/liquid/2012/01/20/Big+improvement > s+for+CXF+in+OSGi+ahead+with+version+2.6.0 > > > Cheers, Sergey > > On 07/07/15 22:59, Pratt, Jason wrote: >> Nope, I installed version 2.5.0 of >> org.apache.servicemix.specs/org.apache.servicemix.specs.jsr339-api-2. >> 0 >> Still receiving the same error >> >> -----Original Message----- >> From: Pratt, Jason [mailto:[email protected]] >> Sent: Tuesday, July 07, 2015 2:03 PM >> To: [email protected] >> Subject: RE: HELP - org.glassfish.jersey.internal.RuntimeDelegateImpl >> not found by javax.ws.rs >> >> No I did not know that was required for restful calls in CXF. >> >> I will try installing that now >> >> -----Original Message----- >> From: Sergey Beryozkin [mailto:[email protected]] >> Sent: Tuesday, July 07, 2015 1:49 PM >> To: [email protected] >> Subject: Re: HELP - org.glassfish.jersey.internal.RuntimeDelegateImpl >> not found by javax.ws.rs >> >> Is >> >> org.apache.servicemix.specs/org.apache.servicemix.specs.jsr339-api-2. >> 0 >> >> installed ? >> >> I was running a demo with CXF 3.1.1 few days back in Karaf, no problems. >> I'll get JAXRSOutInterceptor updated anyway to avoid RuntimeDelegate >> to avoid some strange errors like this one (may be some ordering >> issue, etc) >> >> Sergey >> >> On 07/07/15 20:54, Pratt, Jason wrote: >>> CXF-3.1.1 >>> KARAF-3.0.4 >>> JDK 1.7 >>> >>> I just started seeing this WARN message in my log, it is happening >>> during a RESTful call. The call passes back a json document, it was >>> working fine but now I am getting a 500 response. >>> Any advice would be great! >>> >>> >>> 2015-07-07 12:39:37,869 | WARN | tp1522718697-168 | >>> PhaseInterceptorChain | 181 - org.apache.cxf.cxf-core - >>> 3.1.1 | Interceptor for >>> {http://service.product.core.dart.ept.wrs.com/}$ProductLineServiceIm >>> pl777114985 >>> 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-ja >>> xrs:3.1.1] >>> >>> at >>> org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(J >>> AXRSOutInterceptor.java:81)[195:org.apache.cxf.cxf-rt-frontend-jaxrs >>> :3.1.1] >>> >>> at >>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercep >>> torChain.java:308)[181:org.apache.cxf.cxf-core:3.1.1] >>> >>> at >>> org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(Ou >>> tgoingChainInterceptor.java:83)[181:org.apache.cxf.cxf-core:3.1.1] >>> >>> at >>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercep >>> torChain.java:308)[181:org.apache.cxf.cxf-core:3.1.1] >>> >>> at >>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInit >>> iationObserver.java:121)[181:org.apache.cxf.cxf-core:3.1.1] >>> >>> at >>> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(Abstrac >>> tHTTPDestination.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-ht >>> tp:3.1.1] >>> >>> at >>> org.apache.cxf.transport.servlet.ServletController.invoke(ServletCon >>> troller.java:208)[188:org.apache.cxf.cxf-rt-transports-http:3.1.1] >>> >>> at >>> org.apache.cxf.transport.servlet.ServletController.invoke(ServletCon >>> troller.java:160)[188:org.apache.cxf.cxf-rt-transports-http:3.1.1] >>> >>> at >>> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSp >>> ringServlet.java:171)[188:org.apache.cxf.cxf-rt-transports-http:3.1. >>> 1] >>> >>> at >>> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(A >>> bstractHTTPServlet.java:293)[188:org.apache.cxf.cxf-rt-transports-ht >>> tp:3.1.1] >>> >>> at >>> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractH >>> TTPServlet.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(Abstrac >>> tHTTPServlet.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(DelegatingMethodAcce >>> ssorImpl.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:11 >>> 9)[12:org.apache.aries.proxy.impl:1.0.4] >>> >>> at >>> org.apache.aries.blueprint.proxy.javax.servlet.http.$HttpServlet6482 >>> 37498.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:68 >>> 4)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415 >>> ] >>> >>> at >>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.jav >>> a:503)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v2015 >>> 0415] >>> >>> at >>> org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.d >>> oHandle(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.v2 >>> 0150415] >>> >>> at >>> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.ja >>> va:557)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v201 >>> 50415] >>> >>> at >>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHand >>> ler.java:231)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.1 >>> 7.v20150415] >>> >>> at >>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHand >>> ler.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.v20150 >>> 415] >>> >>> at >>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandl >>> er.java:193)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17 >>> .v20150415] >>> >>> at >>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandl >>> er.java:1020)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.1 >>> 7.v20150415] >>> >>> at >>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler. >>> java:135)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v2 >>> 0150415] >>> >>> at >>> org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollectio >>> n.handle(JettyServerHandlerCollection.java:75)[117:org.ops4j.pax.web >>> .pax-web-jetty:3.2.3] >>> >>> at >>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrappe >>> r.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.ecli >>> pse.jetty.aggregate.jetty-all-server:8.1.17.v20150415] >>> >>> at >>> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(Abstra >>> ctHttpConnection.java:494)[108:org.eclipse.jetty.aggregate.jetty-all >>> -server:8.1.17.v20150415] >>> >>> at >>> org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(Abstr >>> actHttpConnection.java:971)[108:org.eclipse.jetty.aggregate.jetty-al >>> l-server:8.1.17.v20150415] >>> >>> at >>> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.heade >>> rComplete(AbstractHttpConnection.java:1033)[108:org.eclipse.jetty.ag >>> gregate.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(AsyncHttpConnect >>> ion.java:82)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17 >>> .v20150415] >>> >>> at >>> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelE >>> ndPoint.java:696)[108:org.eclipse.jetty.aggregate.jetty-all-server:8 >>> .1.17.v20150415] >>> >>> at >>> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEn >>> dPoint.java:53)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1 >>> .17.v20150415] >>> >>> at >>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPo >>> ol.java:608)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17 >>> .v20150415] >>> >>> at >>> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPoo >>> l.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.findClassOrResourceByDel >>> egation(BundleWiringImpl.java:1532) >>> >>> at >>> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringI >>> mpl.java:75) >>> >>> at >>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadCl >>> ass(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.Runtime >>> Ex >>> ception: java.lang.ClassNotFoundException: >>> org.glassfish.jersey.internal.RuntimeDelegateImpl not found by >>> javax.ws.rs-api [244]</ns1:faultstring></ns1:XMLFault> >>> -------------------------------------- >>> >> >
