Whoops....wrong stack trace. The offending spring resource looks like this: 18:59:58,446 | WARN | rint Extender: 2 | SpringBusFactory | ache.cxf.common.logging.LogUtils 369 | - - | Initial attempt to create application context was unsuccessful. org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://cxf.apache.org/core] Offending resource: class path resource [identity-server-bus-beans.xml]
>>> Kurt Westerfeld 10/22/2010 7:43 PM >>> Hello, I'm just beginning to look into porting some SMX 3 JBI components to SMX 4, after the great talk at DC yesterday by the FUSE team. I was encouraged to simply try out the SMX4 from FUSE, because it's got it's JBI layer going and all. So, gave it a try. What I'm finding is that certain implicit library dependencies that were present in SMX3 are no longer there. The first I found was log4j, which while seemingly "supported", isn't provided (literally, the provided scope from maven is what we're using) any longer for servicemix-cxf-se SUs. That was an easy fix, but it led to the next occurrence of the same issue. The servicemix-cxf-bc components we have all use spring configuration to configure the CXF bus. At first glance, it does not seem to be the case any longer that an xbean.xml deployment descriptor for these components has access to the spring schemas for base CXF configuration. Simple example fragment we include for all our binding components: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cxf="http://cxf.apache.org/core" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd "> <cxf:bus> <cxf:features> <cxf:logging/> (etc etc all of our interceptor configuration omitted) where we use "busCfg=" on the binding component: <cxfbc:consumer wsdl="classpath:Some.wsdl" locationURI="http://${HttpDefaultHost}:${HttpDefaultPort}/SomeEndPoint" targetService="somens:SomeService" targetInterface="somens:SomeService" busCfg="/identity-server-bus-beans.xml" /> So this is no longer working. An example stacktrace is here: 18:59:58,461 | ERROR | rint Extender: 2 | ServiceAssemblyInstaller | er.impl.ServiceAssemblyInstaller 212 | 93 - org.apache.servicemix.jbi.deployer - 1.3.0.fuse-01-00 | Error deploying SU submit-process-binding javax.jbi.management.DeploymentException: java.lang.RuntimeException: org.springframework.context.ApplicationContextException: Failed to load configuration /identity-server-bus-beans.xml at org.apache.servicemix.cxfbc.CxfBcConsumer.validate(CxfBcConsumer.java:561)[140:servicemix-cxf-bc:2010.02.0.fuse-01-00] at org.apache.servicemix.common.AbstractDeployer.validate(AbstractDeployer.java:58)[90:servicemix-common:2010.02.0.fuse-01-00] at org.apache.servicemix.common.xbean.BaseXBeanDeployer.validate(BaseXBeanDeployer.java:55)[90:servicemix-common:2010.02.0.fuse-01-00] at org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:98)[90:servicemix-common:2010.02.0.fuse-01-00] at org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)[90:servicemix-common:2010.02.0.fuse-01-00] at org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)[90:servicemix-common:2010.02.0.fuse-01-00] at org.apache.servicemix.jbi.deployer.artifacts.ServiceUnitImpl.deploy(ServiceUnitImpl.java:104)[93:org.apache.servicemix.jbi.deployer:1.3.0.fuse-01-00] at org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:207)[93:org.apache.servicemix.jbi.deployer:1.3.0.fuse-01-00] at org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)[93:org.apache.servicemix.jbi.deployer:1.3.0.fuse-01-00] at org.apache.servicemix.jbi.deployer.impl.Deployer.checkPendingInstallers(Deployer.java:558)[93:org.apache.servicemix.jbi.deployer:1.3.0.fuse-01-00] at org.apache.servicemix.jbi.deployer.impl.Deployer.lifeCycleChanged(Deployer.java:608)[93:org.apache.servicemix.jbi.deployer:1.3.0.fuse-01-00] at org.apache.servicemix.jbi.deployer.artifacts.AbstractLifecycleJbiArtifact.fireEvent(AbstractLifecycleJbiArtifact.java:102)[93:org.apache.servicemix.jbi.deployer:1.3.0.fuse-01-00] at org.apache.servicemix.jbi.deployer.artifacts.AbstractLifecycleJbiArtifact.fireEvent(AbstractLifecycleJbiArtifact.java:92)[93:org.apache.servicemix.jbi.deployer:1.3.0.fuse-01-00] at org.apache.servicemix.jbi.deployer.artifacts.ComponentImpl$ComponentWrapper.init(ComponentImpl.java:250)[93:org.apache.servicemix.jbi.deployer:1.3.0.fuse-01-00] at org.apache.servicemix.jbi.runtime.impl.ComponentRegistryImpl.doRegister(ComponentRegistryImpl.java:89)[91:org.apache.servicemix.jbi.runtime:1.3.0.fuse-01-00] at org.apache.servicemix.jbi.runtime.impl.ComponentRegistryImpl.doRegister(ComponentRegistryImpl.java:38)[91:org.apache.servicemix.jbi.runtime:1.3.0.fuse-01-00] at org.apache.servicemix.nmr.core.ServiceRegistryImpl.register(ServiceRegistryImpl.java:47)[81:org.apache.servicemix.nmr.core:1.3.0.fuse-01-00] at org.apache.servicemix.nmr.osgi.OsgiServiceRegistryTracker.addingService(OsgiServiceRegistryTracker.java:78)[82:org.apache.servicemix.nmr.osgi:1.3.0.fuse-01-00] at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:896)[osgi-3.6.0.v20100517.jar:] at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)[osgi-3.6.0.v20100517.jar:] at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233)[osgi-3.6.0.v20100517.jar:] at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:840)[osgi-3.6.0.v20100517.jar:] at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:104)[osgi-3.6.0.v20100517.jar:] at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:933)[osgi-3.6.0.v20100517.jar:] at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)[osgi-3.6.0.v20100517.jar:] at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)[osgi-3.6.0.v20100517.jar:] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:756)[osgi-3.6.0.v20100517.jar:] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:711)[osgi-3.6.0.v20100517.jar:] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)[osgi-3.6.0.v20100517.jar:] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:206)[osgi-3.6.0.v20100517.jar:] at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:507)[osgi-3.6.0.v20100517.jar:] at org.apache.servicemix.jbi.deployer.impl.Deployer.registerService(Deployer.java:762)[93:org.apache.servicemix.jbi.deployer:1.3.0.fuse-01-00] at org.apache.servicemix.jbi.deployer.impl.Deployer.registerComponent(Deployer.java:418)[93:org.apache.servicemix.jbi.deployer:1.3.0.fuse-01-00] at org.apache.servicemix.jbi.deployer.impl.ComponentInstaller.initComponent(ComponentInstaller.java:424)[93:org.apache.servicemix.jbi.deployer:1.3.0.fuse-01-00] at org.apache.servicemix.jbi.deployer.impl.ComponentInstaller.install(ComponentInstaller.java:150)[93:org.apache.servicemix.jbi.deployer:1.3.0.fuse-01-00] at org.apache.servicemix.jbi.deployer.impl.Deployer.registerDeployedComponent(Deployer.java:657)[93:org.apache.servicemix.jbi.deployer:1.3.0.fuse-01-00] at org.apache.servicemix.jbi.deployer.impl.Deployer$1.addingService(Deployer.java:222)[93:org.apache.servicemix.jbi.deployer:1.3.0.fuse-01-00] at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:896)[osgi-3.6.0.v20100517.jar:] at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)[osgi-3.6.0.v20100517.jar:] at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233)[osgi-3.6.0.v20100517.jar:] at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:840)[osgi-3.6.0.v20100517.jar:] at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:104)[osgi-3.6.0.v20100517.jar:] at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:933)[osgi-3.6.0.v20100517.jar:] at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)[osgi-3.6.0.v20100517.jar:] at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)[osgi-3.6.0.v20100517.jar:] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:756)[osgi-3.6.0.v20100517.jar:] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:711)[osgi-3.6.0.v20100517.jar:] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)[osgi-3.6.0.v20100517.jar:] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:206)[osgi-3.6.0.v20100517.jar:] at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:507)[osgi-3.6.0.v20100517.jar:] at org.apache.aries.blueprint.container.BlueprintContainerImpl.registerService(BlueprintContainerImpl.java:388)[7:org.apache.aries.blueprint:0.2.0.incubating] at org.apache.aries.blueprint.container.ServiceRecipe.register(ServiceRecipe.java:166)[7:org.apache.aries.blueprint:0.2.0.incubating] at org.apache.aries.blueprint.container.BlueprintContainerImpl.registerServices(BlueprintContainerImpl.java:646)[7:org.apache.aries.blueprint:0.2.0.incubating] at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:314)[7:org.apache.aries.blueprint:0.2.0.incubating] at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:213)[7:org.apache.aries.blueprint:0.2.0.incubating] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_18] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_18] at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_18] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)[:1.6.0_18] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)[:1.6.0_18] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_18] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_18] at java.lang.Thread.run(Thread.java:619)[:1.6.0_18] Caused by: java.lang.RuntimeException: org.springframework.context.ApplicationContextException: Failed to load configuration /identity-server-bus-beans.xml at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:96)[138:org.apache.cxf.bundle:2.2.10.fuse-00-00] at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:88)[138:org.apache.cxf.bundle:2.2.10.fuse-00-00] at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64)[138:org.apache.cxf.bundle:2.2.10.fuse-00-00] at org.apache.servicemix.cxfbc.CxfBcConsumer.getBus(CxfBcConsumer.java:677)[140:servicemix-cxf-bc:2010.02.0.fuse-01-00] at org.apache.servicemix.cxfbc.CxfBcConsumer.retrieveWSDL(CxfBcConsumer.java:658)[140:servicemix-cxf-bc:2010.02.0.fuse-01-00] at org.apache.servicemix.cxfbc.CxfBcConsumer.validate(CxfBcConsumer.java:430)[140:servicemix-cxf-bc:2010.02.0.fuse-01-00] ... 62 more Caused by: org.springframework.context.ApplicationContextException: Failed to load configuration /identity-server-bus-beans.xml at org.apache.cxf.bus.spring.BusApplicationContext.getConfigResources(BusApplicationContext.java:152)[138:org.apache.cxf.bundle:2.2.10.fuse-00-00] at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:120)[62:org.springframework.context:3.0.3.RELEASE] at org.apache.cxf.bus.spring.BusApplicationContext.loadBeanDefinitions(BusApplicationContext.java:262)[138:org.apache.cxf.bundle:2.2.10.fuse-00-00] at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)[62:org.springframework.context:3.0.3.RELEASE] at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:467)[62:org.springframework.context:3.0.3.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397)[62:org.springframework.context:3.0.3.RELEASE] at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91)[138:org.apache.cxf.bundle:2.2.10.fuse-00-00] at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:110)[138:org.apache.cxf.bundle:2.2.10.fuse-00-00] at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)[138:org.apache.cxf.bundle:2.2.10.fuse-00-00] ... 67 more This leads me to believe that perhaps the servicemix-cxf-bc component, as well as the servicemix-cxf-se component, are no longer providing the same libs as SMX3 while running in SMX4. So, I wonder how I could solve this if I don't want to go down the route to rebuild all of our components as OSGi bundles? I would like to think that the same library underpinnings, apart from version #s, would be provided for these components. Any thoughts?
