Hello, have you got org.apache.servicemix.bundles.jaxb-impl and org.apache.servicemix.specs.jaxb-api installed?
smx4 uses some custom-magic way of resolving JAXB factories and similar stuff br, maciek On Tue, 2009-11-17 at 11:34 +0100, Markus Wolf wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi there, > > I have a problem to deploy a bundle using camel-osgi + camel-spring on > Apache Karaf. When deploying on Java6 it does work fine but on Java5 it > fails, because there is no JAXB implementation found. > I get the following exception: > > 11:25:13,924 | ERROR | ExtenderThread-9 | ContextLoaderListener > | BundleApplicationContextListener 50 | Application context refresh > failed > (OsgiBundleXmlApplicationContext(bundle=de.llynch.esb.llynch-sender, > config=osgibundle:/META-INF/spring/*.xml)) > org.springframework.beans.factory.BeanDefinitionStoreException: Failed > to parse JAXB element: javax.xml.bind.JAXBException: Provider > com.sun.xml.bind.v2.ContextFactory not found > - with linked exception: > [java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory]; > nested exception is javax.xml.bind.JAXBException: Provider > com.sun.xml.bind.v2.ContextFactory not found > - with linked exception: > [java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory] > at > org.apache.camel.spring.handler.CamelNamespaceHandler.parseUsingJaxb(CamelNamespaceHandler.java:147) > at > org.apache.camel.spring.handler.CamelNamespaceHandler$CamelContextBeanDefinitionParser.doParse(CamelNamespaceHandler.java:199) > at > org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser.parseInternal(AbstractSingleBeanDefinitionParser.java:84) > at > org.springframework.beans.factory.xml.AbstractBeanDefinitionParser.parse(AbstractBeanDefinitionParser.java:56) > at > org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69) > at > org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1297) > at > org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1287) > at > org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135) > at > org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92) > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507) > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398) > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342) > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310) > at > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143) > at > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178) > at > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149) > at > org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext.loadBeanDefinitions(OsgiBundleXmlApplicationContext.java:176) > at > org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext.loadBeanDefinitions(OsgiBundleXmlApplicationContext.java:142) > at > org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123) > at > org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422) > at > org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$800(AbstractDelegatedExecutionApplicationContext.java:69) > at > org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$3.run(AbstractDelegatedExecutionApplicationContext.java:269) > at > org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85) > at > org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.startRefresh(AbstractDelegatedExecutionApplicationContext.java:247) > at > org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageOne(DependencyWaiterApplicationContextExecutor.java:222) > at > org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh(DependencyWaiterApplicationContextExecutor.java:175) > at > org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecutionApplicationContext.java:175) > at > org.springframework.osgi.extender.internal.activator.ContextLoaderListener$2.run(ContextLoaderListener.java:718) > at java.lang.Thread.run(Thread.java:595) > Caused by: javax.xml.bind.JAXBException: Provider > com.sun.xml.bind.v2.ContextFactory not found > - with linked exception: > [java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory] > at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:152) > at javax.xml.bind.ContextFinder.find(ContextFinder.java:299) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:372) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:337) > at > org.apache.camel.spring.handler.CamelNamespaceHandler.createJaxbContext(CamelNamespaceHandler.java:166) > at > org.apache.camel.spring.handler.CamelNamespaceHandler.getJaxbContext(CamelNamespaceHandler.java:153) > at > org.apache.camel.spring.handler.CamelNamespaceHandler.parseUsingJaxb(CamelNamespaceHandler.java:144) > ... 28 more > Caused by: java.lang.ClassNotFoundException: > com.sun.xml.bind.v2.ContextFactory > at > org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:744) > at org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:61) > at > org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1656) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:117) > ... 34 more > > > I have installed the JAXB implementation bundle form springsource which > should work fine. The creation of the JAXB context fails, because the > spring-camel bundle is missing the required import-package statements (I > know no better way even if there is) so the com.sun.xml.bind.v2 > resources/classes could be resolved. > I know its not fine to import the implementation but the JAXB factory > lookup is not that good for OSGi. > Any idea how to resolve this in a graceful manner? > > Thanks for any help > Markus Wolf > - -- > NMMN - New Media Markets & Networks GmbH > Langbehnstrasse 6, 22761 Hamburg > Geschäftsführung: Kfm. Michael Schütt > Finanzamt HH-Altona - UStID DE 812 699 852 - HRB 71102 Hamburg > HypoVereinsbank - BLZ 200 300 00 - Konto-Nr. 156 29 82 > > http://www.nmmn.com > Tel.: +49 40 284 118-0 - Fax: +49 40 284118-999 > Softwareentwicklung LLynch: -720 > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.9 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iEYEARECAAYFAksCfBoACgkQDBHISU1oEKEbhgCfcmtR/sPVOpskZLKZmRqbjtAL > vO4AnRHlQtAZ/r9OFUtL2E2QCvrzK8gb > =eXrX > -----END PGP SIGNATURE-----