Hi Thomas, Yeah that exception is a known issue. Its filed as https://issues.apache.org/jira/browse/CXF-2028 but the system should still work when not using security. On the missing org.apache.servicemix.specs.locator bundle. I'm definitely seeing it in the multibundle.zip [1] but the bundle name shows up as 'unknown' which is a bit silly.
Cheers, David [1] http://people.apache.org/repo/m2-snapshot-repository/org/apache/cxf/dosgi/cxf-dosgi-ri-singlebundle-distribution/1.0-SNAPSHOT/cxf-dosgi-ri-singlebundle-distribution-1.0-SNAPSHOT.jar 2009/2/17 <thomas.2.m...@continental-corporation.com>: > > Hi David > > Yes, it seems to be a bundle ordering issue. > I could fix it by setting the start levels in my OSGi framework run > configuration.(I run my sample app from the Eclipse IDE). > > Your config.ini starts 'com.apache.servicemix.specs.locator' - I could not > find it in the your multibundle distribution and have added it on my own ( I > have seen it in your singlebundle distribution ). > > When I start my sample app it seems that my service is exposed as a web > service - I can see the wsdl in my browser > (http://localhost:9000/tm/dosgi/sample/ISessionService?wsdl) > > But there is still an exception : > > 17.02.2009 16:48:00 org.apache.cxf.common.injection.ResourceInjector > invokePostConstruct > WARNUNG: method annotated by @PostConstruct throws exception when invoked > java.lang.reflect.InvocationTargetException > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > org.apache.cxf.common.injection.ResourceInjector.invokePostConstruct(ResourceInjector.java:302) > at > org.apache.cxf.common.injection.ResourceInjector.construct(ResourceInjector.java:86) > at > org.apache.cxf.bus.spring.Jsr250BeanPostProcessor.postProcessAfterInitialization(Jsr250BeanPostProcessor.java:71) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:361) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1343) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) > at java.security.AccessController.doPrivileged(Native Method) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) > at > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) > at > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221) > at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) > at > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429) > at > org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729) > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381) > at > org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:88) > at > org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:109) > at > org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93) > at > org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86) > at > org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64) > at > org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53) > at org.apache.cxf.BusFactory.getDefaultBus(BusFactory.java:69) > at > org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:106) > at org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:97) > at > org.apache.cxf.endpoint.AbstractEndpointFactory.getBus(AbstractEndpointFactory.java:73) > at > org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.initializeServiceFactory(AbstractWSDLBasedEndpointFactory.java:228) > at > org.apache.cxf.frontend.ServerFactoryBean.initializeServiceFactory(ServerFactoryBean.java:157) > at > org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:99) > at > org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:117) > at > org.apache.cxf.dosgi.dsw.handlers.PojoConfigurationTypeHandler.createServer(PojoConfigurationTypeHandler.java:107) > at > org.apache.cxf.dosgi.dsw.hooks.ServiceHookUtils.createServer(ServiceHookUtils.java:89) > at > org.apache.cxf.dosgi.dsw.hooks.CxfPublishHook.createServer(CxfPublishHook.java:106) > at > org.apache.cxf.dosgi.dsw.hooks.CxfPublishHook.publishEndpoint(CxfPublishHook.java:80) > at > org.apache.cxf.dosgi.dsw.Activator.checkExistingServices(Activator.java:130) > at org.apache.cxf.dosgi.dsw.Activator.start(Activator.java:72) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:804) > at java.security.AccessController.doPrivileged(Native Method) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:798) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:779) > at > org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:346) > at > org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:362) > at > org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1084) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:550) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438) > at > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:219) > at > org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:329) > Caused by: java.lang.NoClassDefFoundError: > org/apache/ws/security/handler/WSHandler > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClass(Unknown Source) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:164) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:554) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:524) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:455) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:443) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:423) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:192) > at > org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:372) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:448) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:401) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:389) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:86) > at java.lang.ClassLoader.loadClass(Unknown Source) > at java.lang.ClassLoader.loadClassInternal(Unknown Source) > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClass(Unknown Source) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:164) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:554) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:524) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:455) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:443) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:423) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:192) > at > org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:372) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:448) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:401) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:389) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:86) > at java.lang.ClassLoader.loadClass(Unknown Source) > at java.lang.ClassLoader.loadClassInternal(Unknown Source) > at > org.apache.cxf.ws.security.policy.interceptors.WSSecurityInterceptorProvider.<init>(WSSecurityInterceptorProvider.java:55) > at > org.apache.cxf.ws.security.policy.WSSecurityPolicyLoader.registerProviders(WSSecurityPolicyLoader.java:121) > at > org.apache.cxf.ws.security.policy.WSSecurityPolicyLoader.register(WSSecurityPolicyLoader.java:75) > ... 54 more > 17.02.2009 16:48:00 > org.apache.cxf.service.factory.ReflectionServiceFactoryBean > buildServiceFromClass > INFO: Creating Service {http://sample.dosgi.tm/}ISessionService from class > tm.dosgi.sample.ISessionService > 17.02.2009 16:48:00 org.apache.cxf.endpoint.ServerImpl initDestination > INFO: Setting the server's publish address to be > http://localhost:9000/tm/dosgi/sample/ISessionService > 17.02.2009 16:48:01 org.apache.cxf.dosgi.dsw.hooks.ServiceHookUtils > getServiceProperties > INFO: service properties: {osgi.remote.interfaces=*, > osgi.remote.endpoint.location=http://localhost:9000/tm/dosgi/sample/ISessionService} > 17.02.2009 16:48:01 org.apache.cxf.dosgi.dsw.hooks.ServiceHookUtils > getPublicationProperties > INFO: publication properties: > {osgi.remote.endpoint.location=http://localhost:9000/tm/dosgi/sample/ISessionService, > service.properties={osgi.remote.interfaces=*, > osgi.remote.endpoint.location=http://localhost:9000/tm/dosgi/sample/ISessionService}, > service.interface=[tm.dosgi.sample.ISessionService]} > 17.02.2009 16:48:01 org.apache.cxf.dosgi.dsw.hooks.ServiceHookUtils publish > INFO: Remote tm.dosgi.sample.ISessionService endpoint published via > Discovery service > > Do you know what this means ? > > Best regards > Thomas > > > > > dav...@apache.org > Gesendet von: david.bosscha...@gmail.com > > 16.02.2009 13:42 > > Bitte antworten an > dav...@apache.org > An > thomas.2.m...@continental-corporation.com, users@cxf.apache.org > Kopie > Thema > Re: Re: D-OSGi question > > > > > Hi Thomas, > > I think this may be a bundle ordering issue. I have seen exceptions > like this before when a spring file was being parsed while the actual > bundle that contains the schema was not yet installed. I'm not sure > whether there is a clean, order-independent way of solving this with > Spring-DM yet. > > The multi-bundle distribution ( > http://people.apache.org/repo/m2-snapshot-repository/org/apache/cxf/dosgi/cxf-dosgi-ri-multibundle-distribution/1.0-SNAPSHOT/cxf-dosgi-ri-multibundle-distribution-1.0-SNAPSHOT.zip > ) contains two files in the conf subdirectory that you can use with > Felix or Equinox to load all the bundles in the correct order. I've > attached the one I just used for Eclipse FYI. > > I just tried it out again, and my list of bundles is as follows, which > works fine for me :) > 0 ACTIVE org.eclipse.osgi_3.5.0.v20081201-1815 > 1 ACTIVE org.eclipse.osgi.services_3.2.0.v20081205-1800 > 2 ACTIVE > org.apache.geronimo.specs.geronimo-annotation_1.0_spec_1.1.1 > 3 ACTIVE > org.apache.geronimo.specs.geronimo-activation_1.1_spec_1.0.2 > 4 ACTIVE > org.apache.geronimo.specs.geronimo-javamail_1.4_spec_1.2.0 > 5 ACTIVE > org.apache.geronimo.specs.geronimo-ws-metadata_2.0_spec_1.1.2 > 6 ACTIVE com.springsource.org.apache.commons.logging_1.1.1 > 7 ACTIVE com.springsource.org.jdom_1.0.0 > 8 ACTIVE org.springframework.bundle.spring.core_2.5.5 > 9 ACTIVE org.springframework.bundle.spring.beans_2.5.5 > 10 ACTIVE org.springframework.bundle.spring.context_2.5.5 > 11 ACTIVE com.springsource.org.aopalliance_1.0.0 > 12 ACTIVE org.springframework.bundle.spring.aop_2.5.5 > 13 ACTIVE org.springframework.bundle.osgi.io_1.1.2 > 14 ACTIVE org.springframework.bundle.osgi.core_1.1.2 > 15 ACTIVE org.springframework.bundle.osgi.extender_1.1.2 > 16 ACTIVE org.ops4j.pax.web.service_0.5.1 > 17 ACTIVE unknown_0.0.0 [17] > 18 ACTIVE org.apache.servicemix.bundles.jaxb-impl_2.1.6.1 > 19 ACTIVE org.apache.servicemix.bundles.wsdl4j_1.6.1.1 > 20 ACTIVE org.apache.servicemix.bundles.xmlsec_1.3.0.1 > 21 ACTIVE org.apache.servicemix.bundles.wss4j_1.5.4.1 > 22 ACTIVE org.apache.servicemix.bundles.xmlschema_1.4.2.1 > 23 ACTIVE org.apache.servicemix.bundles.asm_2.2.3.1 > 24 ACTIVE org.apache.servicemix.bundles.xmlresolver_1.2.0.1 > 25 ACTIVE org.apache.servicemix.bundles.neethi_2.0.4.1 > 26 ACTIVE org.apache.servicemix.bundles.woodstox_3.2.7.1 > 27 ACTIVE org.apache.cxf.cxf-bundle-minimal_2.2.0.SNAPSHOT > 28 ACTIVE org.apache.servicemix.specs.saaj-api-1.3_1.1.1 > 29 ACTIVE org.apache.servicemix.specs.stax-api-1.0_1.1.1 > 30 ACTIVE org.apache.servicemix.specs.jaxb-api-2.1_1.1.1 > 31 ACTIVE org.apache.servicemix.specs.jaxws-api-2.1_1.1.1 > 32 ACTIVE cxf-dosgi-ri-discovery-local_1.0.0.SNAPSHOT > 33 ACTIVE cxf-dosgi-ri-dsw-cxf_1.0.0.SNAPSHOT > 34 ACTIVE cxf-dosgi-ri-samples-greeter-interface_1.0.0.SNAPSHOT > 35 ACTIVE cxf-dosgi-ri-samples-greeter-impl_1.0.0.SNAPSHOT > > Hope this helps, > > David > > 2009/2/16 <thomas.2.m...@continental-corporation.com>: >> >> Hi David >> >> Thank you for the fast response. Below is the console output : >> >> >> osgi> 16.02.2009 11:15:51 >> org.springframework.context.support.AbstractApplicationContext >> prepareRefresh >> INFO: Refreshing >> >> org.springframework.osgi.context.support.osgibundlexmlapplicationcont...@111b910: >> display name [OsgiBundleXmlApplicationContext(bundle=cxf-dosgi-ri-dsw-cxf, >> config=classpath:/OSGI-INF/cxf/intents/intent-map.xml)]; startup date [Mon >> Feb 16 11:15:51 CET 2009]; root of context hierarchy >> 16.02.2009 11:15:51 >> org.springframework.beans.factory.xml.XmlBeanDefinitionReader >> loadBeanDefinitions >> INFO: Loading XML bean definitions from OSGi >> >> resource[classpath:/OSGI-INF/cxf/intents/intent-map.xml|bnd.id=4|bnd.sym=cxf-dosgi-ri-dsw-cxf] >> 16.02.2009 11:16:13 org.springframework.util.xml.SimpleSaxErrorHandler >> warning >> WARNUNG: Ignored XML validation warning >> org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema >> document 'http://www.springframework.org/schema/beans/spring-beans.xsd', >> because 1) could not find the document; 2) the document could not be read; >> 3) the root element of the document is not <xsd:schema>. > >> 16.02.2009 11:16:13 org.apache.cxf.dosgi.dsw.qos.IntentMap setIntents >> INFO: Injected intents: {} >> ss >> >> Framework is launched. >> >> id State Bundle >> 0 ACTIVE org.eclipse.osgi_3.5.0.v20081201-1815 >> 1 ACTIVE >> org.apache.geronimo.specs.geronimo-activation_1.1_spec_1.0.2 >> 2 ACTIVE tm_dosgi_sample_interface_1.0.0 >> 3 ACTIVE org.apache.servicemix.bundles.xmlschema_1.4.2.1 >> 4 ACTIVE cxf-dosgi-ri-dsw-cxf_1.0.0.SNAPSHOT >> 5 ACTIVE org.springframework.bundle.spring.core_2.5.5 >> 6 ACTIVE >> org.apache.geronimo.specs.geronimo-annotation_1.0_spec_1.1.1 >> 7 ACTIVE com.springsource.org.jdom_1.0.0 >> 8 ACTIVE org.apache.servicemix.specs.saaj-api-1.3_1.1.1 >> 9 ACTIVE org.apache.cxf.cxf-bundle-minimal_2.2.0.SNAPSHOT >> 10 ACTIVE org.apache.servicemix.specs.jaxb-api-2.1_1.1.1 >> 11 ACTIVE org.springframework.bundle.spring.context_2.5.5 >> 12 ACTIVE org.apache.servicemix.bundles.xmlsec_1.3.0.1 >> 13 ACTIVE org.apache.servicemix.specs.stax-api-1.0_1.1.1 >> 14 ACTIVE org.springframework.bundle.spring.aop_2.5.5 >> 15 ACTIVE org.springframework.bundle.osgi.core_1.1.2 >> 16 ACTIVE javax.servlet_2.5.0.v200806031605 >> 17 ACTIVE org.apache.servicemix.specs.jaxws-api-2.1_1.1.1 >> 20 ACTIVE org.objectweb.asm_3.1.0.v200803061910 >> 21 ACTIVE org.eclipse.osgi.services_3.2.0.v20081205-1800 >> 22 ACTIVE org.springframework.bundle.osgi.io_1.1.2 >> 23 ACTIVE org.apache.servicemix.bundles.neethi_2.0.4.1 >> 24 ACTIVE org.apache.commons.logging_1.0.4.v20080605-1930 >> 25 ACTIVE org.apache.servicemix.bundles.wsdl4j_1.6.1.1 >> 26 ACTIVE org.apache.servicemix.bundles.xmlresolver_1.2.0.1 >> 29 ACTIVE >> org.apache.geronimo.specs.geronimo-ws-metadata_2.0_spec_1.1.2 >> 31 ACTIVE com.springsource.org.aopalliance_1.0.0 >> 32 ACTIVE org.apache.servicemix.bundles.wss4j_1.5.4.1 >> 33 ACTIVE org.apache.servicemix.bundles.jaxb-impl_2.1.6.1 >> 34 ACTIVE tm_dosgi_sample_service_1.0.0 >> 35 ACTIVE org.springframework.bundle.spring.beans_2.5.5 >> 36 ACTIVE >> org.apache.geronimo.specs.geronimo-javamail_1.4_spec_1.2.0 >> >> osgi> >> >> >> Best regards >> Thomas >> >> >> >> dav...@apache.org >> Gesendet von: david.bosscha...@gmail.com >> >> 16.02.2009 11:55 >> >> Bitte antworten an >> dav...@apache.org >> An >> thomas.2.m...@continental-corporation.com, users@cxf.apache.org >> Kopie >> Thema >> Re: D-OSGi question >> >> >> >> >> Hi Thomas, >> >> <copied users@cxf.apache.org> >> >> What are the actual bundles you have deployed. Could you do an 'ss' in >> the equinox console and put the result in a mail? >> >> Thanks, >> >> David >> >> 2009/2/16 <thomas.2.m...@continental-corporation.com>: >>> >>> Hi >>> >>> I try to write my own small D-OSGi sample application. I followed the >>> instructions of your "Developing a Distributed OSGi Application in >>> Eclipse" >>> page . >>> I use Eclipse 3.5M4 and the multi bundle CXF-DOSGi distribution. >>> >>> When I run my service bundle I get the the following error : >>> >>> INFO: Loading XML bean definitions from OSGi >>> >>> >>> resource[classpath:/OSGI-INF/cxf/intents/intent-map.xml|bnd.id=4|bnd.sym=cxf-dosgi-ri-dsw-cxf] >>> 16.02.2009 11:16:13 org.springframework.util.xml.SimpleSaxErrorHandler >>> warning >>> WARNUNG: Ignored XML validation warning >>> org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema >>> document 'http://www.springframework.org/schema/beans/spring-beans.xsd', >>> because 1) could not find the document; 2) the document could not be >>> read; >>> 3) the root element of the document is not <xsd:schema>. >>> at >>> >>> >>> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown >>> Source) >>> >>> >>> The bundle org.springframework.bundle.spring.beans is loaded by my run >>> configuration - I guess the schema document should be found there... >>> What do I wrong ? >>> >>> Best regards >>> >>> Thomas Merk >>> Software Architect >>> Public Transport Solutions >>> >>> Continental Automotive Switzerland AG >>> Industrieplatz 3 >>> CH 8212 Neuhausen >>> Phone +41 (0) 58 911 11 25 >>> Fax +41 (0) 58 911 11 12 >>> mailto:thomas.2.m...@continental-corporation.com >>> www.public-transit-solutions.com >> >> > >