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

Reply via email to