Richard, Logging is working in my environment. The environment contains Karaf 3.0.2 JAXWX in CXF 3.0.2 and services are defined using Blueprint.
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0" xmlns:jaxws="http://cxf.apache.org/blueprint/jaxws" xmlns:cxf="http://cxf.apache.org/blueprint/core" xsi:schemaLocation=" http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd http://cxf.apache.org/blueprint/jaxws http://cxf.apache.org/schemas/blueprint/jaxws.xsd http://cxf.apache.org/blueprint/core http://cxf.apache.org/schemas/blueprint/core.xsd “> ... <cxf:bus> <cxf:features> <cxf:logging /> </cxf:features> </cxf:bus> ... </blueprint Paul Spencer On Nov 12, 2014, at 12:10 AM, Richard Snowden <[email protected]> wrote: > I have a Web Service with a very simple bean definition file where I added > code for CXF logging. Nothing special, and worked very well with older > versions. > > <beans xmlns="http://www.springframework.org/schema/beans" > ... > <cxf:bus> > <cxf:features> > <cxf:logging/> > </cxf:features> > </cxf:bus> > > <jaxrs:server id="someService" address="/service"> > ... > </beans> > > > When I deploy my application to an Apache Karaf (3.0.x) container, I get a > ClassNotFoundException for > org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor > > > Bundle org.apache.cxf.cxf-core is installed. When I do "headers > org.apache.cxf.cxf-core" I can see > > Export-Package = > ... > org.apache.cxf.bus.spring;version=3.0.2, > ... > > > What am I missing here? > > Here's the full stack trace: > > karaf@root()> Exception in thread "SpringOsgiExtenderThread-12" > org.springframework.beans. > factory.CannotLoadBeanClassException: Cannot find class > [org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor] for bean with > name 'org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor' defined in > null; nested exception is java.lang.ClassNotFoundException: > org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor not found from > bundle [org.demo.mystuff] > at > org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1278) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:575) > at > org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1347) > at > org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:913) > at > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:617) > at > org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:934) > at > org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:69) > at > org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:355) > at > org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85) > at > org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320) > at > org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:132) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.ClassNotFoundException: > org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor not found from > bundle [org.demo.mystuff] > at > org.springframework.osgi.util.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:103) > at > org.springframework.osgi.util.BundleDelegatingClassLoader.loadClass(BundleDelegatingClassLoader.java:156) > at java.lang.ClassLoader.loadClass(ClassLoader.java:358) > at org.springframework.util.ClassUtils.forName(ClassUtils.java:265) > at > org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:419) > at > org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1299) > at > org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1270) > ... 11 more > Caused by: java.lang.ClassNotFoundException: > org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor > at > org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) > at java.lang.ClassLoader.loadClass(ClassLoader.java:358) > at > org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:340) > at > org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229) > at > org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1212) > at > org.springframework.osgi.util.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:99) > ... 17 more
