FYI, ServiceMix 3.2.1 does not use OSGi at all, this is only available
in ServiceMix 4.
Anyway, this is a known problem, but should not prevent you to unzip
the distribution and use it.

On Wed, Apr 30, 2008 at 11:50 PM, MeBigFatGuy <[EMAIL PROTECTED]> wrote:
>
>  I tried downloading the servicemix 3.2.1 sources zip from here
>  http://servicemix.apache.org/download.html, but got a zip that was corrupt
>  with many error messages like:
>
>  The following invalid filename was encountered in the archive:
>  
> "apache-servicemix-3.2.1\src\core\servicemix-jbl\file:\home\gnodet\public_html\servicemix-3.2.1\site\people.apache.org\www\servicemix.apache.org\dist\servicemix-3.2.1\site\parent\core\servicemix-jbl\apidocs\index.html"
>
>
>
>
>
>  dkulp wrote:
>  >
>  > On Wednesday 30 April 2008, Dave Brosius wrote:
>  >> Thank you very much. Is the META-INF/cxf/osgi directory new? as of
>  >> 2.0.5 it doesn't exist.
>  >
>  > That's a file that's over in the servicemix repo someplace that defines
>  > an http transport for the CXF runtime that uses the osgi servlet instead
>  > of our embedded jetty.   It should be moved over to CXF at some point,
>  > but it hasn't been yet.
>  >
>  > Dan
>  >
>  >
>  >>
>  >> -----Original Message-----
>  >> From: Guillaume Nodet <[EMAIL PROTECTED]>
>  >> Sent: Wednesday, April 30, 2008 10:37am
>  >> To: [email protected]
>  >> Subject: Re: cxf Autowiring in OSGI
>  >>
>  >> Here's what we came up with so far:
>  >>
>  >> http://servicemix.apache.org/SMX4/cxf-examples.html#CXFexamples-Inside
>  >>theexample
>  >>
>  >> if you really want to use the non spring configuration, the best way
>  >> to avoid classloader issues may be to embed cxf and its dependencies
>  >> inside a single bundle along with your services.
>  >>
>  >> On Wed, Apr 30, 2008 at 4:06 PM, Daniel Kulp <[EMAIL PROTECTED]> wrote:
>  >> >  Dave,
>  >> >
>  >> >
>  >> >  Guillaume Nodet definitely has more experience with the OSGi stuff.
>  >> >  In generaly, we've seen success using the Spring Dynamic Module
>  >> > stuff with OSGi as you can import the cxf stuff you need in the
>  >> > spring module and the bus gets wired up correctly.   (in 2.0.6/2.1,
>  >> > we even added a cxf-all.xml that you can import to grab everything,
>  >> > but thats probably more than you need)
>  >> >
>  >> >  I'm not sure if anyone not using spring-dm has gotten anything to
>  >> > work. One option MAY be to call SpringBusFactory.createBus()
>  >> > yourself first to cause the Bus to be created with spring.  Not sure
>  >> > if that works though as I'm not sure if it will find all the spring
>  >> > config files or not.
>  >> >
>  >> >  Dan
>  >> >
>  >> >  On Tuesday 29 April 2008, Dave Brosius wrote:
>  >> >  > OK, this code is failing in OSGI
>  >> >  >
>  >> >  > BusFactory.getBusFactoryClass
>  >> >  >
>  >> >  > specifically, it tries to load the file
>  >> >  >
>  >> >  > META-INF/services/org.apache.cxf.bus.factory
>  >> >  >
>  >> >  > and fails.
>  >> >  >
>  >> >  > [CODE]
>  >> >  > private static String getBusFactoryClass(ClassLoader classLoader)
>  >> >  > {
>  >> >  >
>  >> >  >         String busFactoryClass = null;
>  >> >  >         String busFactoryCondition = null;
>  >> >  >
>  >> >  >         // next check system properties
>  >> >  >         busFactoryClass =
>  >> >  > System.getProperty(BusFactory.BUS_FACTORY_PROPERTY_NAME); if
>  >> >  > (isValidBusFactoryClass(busFactoryClass)) {
>  >> >  >             return busFactoryClass;
>  >> >  >         }
>  >> >  >
>  >> >  >         try {
>  >> >  >             // next, check for the services stuff in the jar file
>  >> >  >             String serviceId = "META-INF/services/" +
>  >> >  > BusFactory.BUS_FACTORY_PROPERTY_NAME; InputStream is = null;
>  >> >  >
>  >> >  >             if (classLoader == null) {
>  >> >  >                 classLoader =
>  >> >  > Thread.currentThread().getContextClassLoader(); }
>  >> >  >
>  >> >  >             if (classLoader == null) {
>  >> >  >                 is =
>  >> >  > ClassLoader.getSystemResourceAsStream(serviceId); } else {
>  >> >  >                 is = classLoader.getResourceAsStream(serviceId);
>  >> >  >             }
>  >> >  >             if (is != null) {
>  >> >  >                 BufferedReader rd = new BufferedReader(new
>  >> >  > InputStreamReader(is, "UTF-8")); busFactoryClass = rd.readLine();
>  >> >  >                 busFactoryCondition = rd.readLine();
>  >> >  >                 rd.close();
>  >> >  >             }
>  >> >  >             if (isValidBusFactoryClass(busFactoryClass)) {
>  >> >  >                 if (busFactoryCondition != null) {
>  >> >  >                     try {
>  >> >  >
>  >> >  > classLoader.loadClass(busFactoryCondition); return
>  >> >  > busFactoryClass;
>  >> >  >                     } catch (ClassNotFoundException e) {
>  >> >  >                         return DEFAULT_BUS_FACTORY;
>  >> >  >                     }
>  >> >  >                 } else {
>  >> >  >                     return busFactoryClass;
>  >> >  >                 }
>  >> >  >             }
>  >> >  >
>  >> >  >             // otherwise use default
>  >> >  >             busFactoryClass = BusFactory.DEFAULT_BUS_FACTORY;
>  >> >  >             return busFactoryClass;
>  >> >  >         } catch (Exception ex) {
>  >> >  >             LogUtils.log(LOG, Level.SEVERE,
>  >> >  > "FAILED_TO_DETERMINE_BUS_FACTORY_EXC", ex); }
>  >> >  >         return busFactoryClass;
>  >> >  >     }
>  >> >  > [/CODE]
>  >> >  >
>  >> >  >
>  >> >  > -----Original Message-----
>  >> >  > From: Dave Brosius <[EMAIL PROTECTED]>
>  >> >  > Sent: Tuesday, April 29, 2008 6:27pm
>  >> >  > To: [email protected]
>  >> >  > Cc: [EMAIL PROTECTED]
>  >> >  > Subject: RE: cxf Autowiring in OSGI
>  >> >  >
>  >> >  > Here's the difference: Can anyone help me with why this is so?
>  >> >  >
>  >> >  > In OSGI, createBus creates a CXFBusFactory
>  >> >  >
>  >> >  > Thread [SpringOsgiExtenderThread-2] (Suspended)
>  >> >  >       CXFBusFactory.createBus() line: 32
>  >> >  >       BusFactory.getDefaultBus(boolean) line: 69
>  >> >  >       BusFactory.getThreadDefaultBus(boolean) line: 106
>  >> >  >       BusFactory.getThreadDefaultBus() line: 97
>  >> >  >       JaxWsServerFactoryBean(AbstractEndpointFactory).getBus()
>  >> >  > line: 73
>  >> >  > JaxWsServerFactoryBean(AbstractWSDLBasedEndpointFactory).initiali
>  >> >  >zeSe rviceFactory() line: 143
>  >> >  > JaxWsServerFactoryBean(AbstractWSDLBasedEndpointFactory).createEn
>  >> >  >dpoin t() line: 73
>  >> >  > JaxWsServerFactoryBean(ServerFactoryBean).create() line: 113
>  >> >  > JaxWsServerFactoryBean.create() line: 160
>  >> >  >       EchoInstaller.init() line: 23
>  >> >  >       NativeMethodAccessorImpl.invoke0(Method, Object, Object[])
>  >> >  > line: not available [native method]
>  >> >  > NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
>  >> >  >       DelegatingMethodAccessorImpl.invoke(Object, Object[]) line:
>  >> >  > 25 Method.invoke(Object, Object...) line: 585
>  >> >  >
>  >> >  > DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).in
>  >> >  >voke CustomInitMethod(String, Object, String, boolean) line: 1378
>  >> >  > DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).in
>  >> >  >vokeI nitMethods(String, Object, RootBeanDefinition) line: 1339
>  >> >  > DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).in
>  >> >  >itial izeBean(String, Object, RootBeanDefinition) line: 1299
>  >> >  > DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).do
>  >> >  >Creat eBean(String, RootBeanDefinition, Object[]) line: 463
>  >> >  > AbstractAutowireCapableBeanFactory$1.run() line: 404
>  >> >  >       AccessController.doPrivileged(PrivilegedAction<T>) line:
>  >> >  > not available [native method]
>  >> >  > DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).cr
>  >> >  >eateB ean(String, RootBeanDefinition, Object[]) line: 375
>  >> >  > AbstractBeanFactory$1.getObject() line: 263
>  >> >  >
>  >> >  > DefaultListableBeanFactory(DefaultSingletonBeanRegistry).getSingl
>  >> >  >eton (String, ObjectFactory) line: 170
>  >> >  > DefaultListableBeanFactory(AbstractBeanFactory).doGetBean(String,
>  >> >  > Class, Object[], boolean) line: 260
>  >> >  > DefaultListableBeanFactory(AbstractBeanFactory).getBean(String,
>  >> >  > Class, Object[]) line: 184
>  >> >  > DefaultListableBeanFactory(AbstractBeanFactory).getBean(String)
>  >> >  > line: 163 DefaultListableBeanFactory.preInstantiateSingletons()
>  >> >  > line: 430
>  >> >  > OsgiBundleXmlApplicationContext(AbstractApplicationContext).finis
>  >> >  >hBean FactoryInitialization(ConfigurableListableBeanFactory) line:
>  >> >  > 729
>  >> >  > OsgiBundleXmlApplicationContext(AbstractDelegatedExecutionApplica
>  >> >  >tionC ontext).completeRefresh() line: 268
>  >> >  > DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.ru
>  >> >  >n() line: 142
>  >> >  > DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.ru
>  >> >  >n() line: 142 Thread.run() line: 595
>  >> >  >
>  >> >  >
>  >> >  > In standard mode, createBus creates a SpringBusFactory
>  >> >  >
>  >> >  > Thread [main] (Suspended (breakpoint at line 54 in
>  >> >  > SpringBusFactory)) SpringBusFactory.createBus() line: 54
>  >> >  >       BusFactory.getDefaultBus(boolean) line: 69
>  >> >  >       BusFactory.getThreadDefaultBus(boolean) line: 106
>  >> >  >       BusFactory.getThreadDefaultBus() line: 97
>  >> >  >       JaxWsServerFactoryBean(AbstractEndpointFactory).getBus()
>  >> >  > line: 73
>  >> >  > JaxWsServerFactoryBean(AbstractWSDLBasedEndpointFactory).initiali
>  >> >  >zeSe rviceFactory() line: 143
>  >> >  > JaxWsServerFactoryBean(ServerFactoryBean).initializeServiceFactor
>  >> >  >y() line: 149
>  >> >  > JaxWsServerFactoryBean(AbstractWSDLBasedEndpointFactory).createEn
>  >> >  >dpoin t() line: 73
>  >> >  > JaxWsServerFactoryBean(ServerFactoryBean).create() line: 113
>  >> >  > JaxWsServerFactoryBean.create() line: 160
>  >> >  >       Main.main(String[]) line: 19
>  >> >  >
>  >> >  >
>  >> >  >
>  >> >  >
>  >> >  > -----Original Message-----
>  >> >  > From: Dave Brosius <[EMAIL PROTECTED]>
>  >> >  > Sent: Tuesday, April 29, 2008 6:15pm
>  >> >  > To: [email protected]
>  >> >  > Cc: [EMAIL PROTECTED]
>  >> >  > Subject: cxf Autowiring in OSGI
>  >> >  >
>  >> >  > I am having trouble getting cxf to work in osgi. The problem is
>  >> >  > that it appears that there are no factories registered for the
>  >> >  > various namespaces needed such as
>  >> >  > http://schemas.xmlsoap.org/soap/http
>  >> >  >
>  >> >  >
>  >> >  > When run in normal mode (not osgi), I see these namespaces being
>  >> >  > registered (in the below stack trace). In OSGI this isn't
>  >> >  > happening and so it fails in
>  >> >  > JaxWsServerFactoryBean.createBindingInfo. Does anyone have any
>  >> >  > ideas about how to fix this?
>  >> >  >
>  >> >  >
>  >> >  > [CODE]
>  >> >  > Thread [main] (Suspended (breakpoint at line 79 in
>  >> >  > DestinationFactoryManagerImpl))
>  >> >  > DestinationFactoryManagerImpl.registerDestinationFactory(String,
>  >> >  > DestinationFactory) line: 79
>  >> >  > JettyHTTPTransportFactory.finalizeConfig() line: 68
>  >> >  >       NativeMethodAccessorImpl.invoke0(Method, Object, Object[])
>  >> >  > line: not available [native method]
>  >> >  > NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
>  >> >  >       DelegatingMethodAccessorImpl.invoke(Object, Object[]) line:
>  >> >  > 25 Method.invoke(Object, Object...) line: 585
>  >> >  >       ResourceInjector.invokePostConstruct() line: 305
>  >> >  >       ResourceInjector.construct(Object) line: 86
>  >> >  >
>  >> >  > Jsr250BeanPostProcessor.postProcessAfterInitialization(Object,
>  >> >  > String) line: 58
>  >> >  > DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).ap
>  >> >  >plyBe anPostProcessorsAfterInitialization(Object, String) line:
>  >> >  > 357
>  >> >  > DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).in
>  >> >  >itial izeBean(String, Object, RootBeanDefinition) line: 1308
>  >> >  > DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).do
>  >> >  >Creat eBean(String, RootBeanDefinition, Object[]) line: 463
>  >> >  > AbstractAutowireCapableBeanFactory$1.run() line: 404
>  >> >  >       AccessController.doPrivileged(PrivilegedAction<T>) line:
>  >> >  > not available [native method]
>  >> >  > DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).cr
>  >> >  >eateB
>  >> > >
>  >> > >ean(String, RootBeanDefinition, Object[]) line: 375
>  >> > >
>  >> >  > AbstractBeanFactory$1.getObject() line: 263
>  >> >  >
>  >> >  > DefaultListableBeanFactory(DefaultSingletonBeanRegistry).getSingl
>  >> >  >eton (String, ObjectFactory) line: 170
>  >> >  > DefaultListableBeanFactory(AbstractBeanFactory).doGetBean(String,
>  >> >  > Class, Object[], boolean) line: 260
>  >> >  > DefaultListableBeanFactory(AbstractBeanFactory).getBean(String,
>  >> >  > Class, Object[]) line: 184
>  >> >  > DefaultListableBeanFactory(AbstractBeanFactory).getBean(String)
>  >> >  > line: 163 DefaultListableBeanFactory.preInstantiateSingletons()
>  >> >  > line: 430
>  >> >  > BusApplicationContext(AbstractApplicationContext).finishBeanFacto
>  >> >  >ryIni tialization(ConfigurableListableBeanFactory) line: 729
>  >> >  > BusApplicationContext(AbstractApplicationContext).refresh() line:
>  >> >  > 381 BusApplicationContext.<init>(String[], boolean,
>  >> >  > ApplicationContext) line: 86 SpringBusFactory.createBus(String[],
>  >> >  > boolean) line: 93 SpringBusFactory.createBus(String, boolean)
>  >> >  > line: 87 SpringBusFactory.createBus(String) line: 65
>  >> >  >       SpringBusFactory.createBus() line: 54
>  >> >  >       BusFactory.getDefaultBus(boolean) line: 69
>  >> >  >       BusFactory.getThreadDefaultBus(boolean) line: 106
>  >> >  >       BusFactory.getThreadDefaultBus() line: 97
>  >> >  >       JaxWsServerFactoryBean(AbstractEndpointFactory).getBus()
>  >> >  > line: 73
>  >> >  > JaxWsServerFactoryBean(AbstractWSDLBasedEndpointFactory).initiali
>  >> >  >zeSe
>  >> > >
>  >> > >rviceFactory() line: 143
>  >> > >
>  >> >  > JaxWsServerFactoryBean(ServerFactoryBean).initializeServiceFactor
>  >> >  >y() line: 149
>  >> >  > JaxWsServerFactoryBean(AbstractWSDLBasedEndpointFactory).createEn
>  >> >  >dpoin
>  >> > >
>  >> > >t() line: 73 JaxWsServerFactoryBean(ServerFactoryBean).create()
>  > line:
>  >> >  > 113 JaxWsServerFactoryBean.create() line: 160
>  >> >  >       Main.main(String[]) line: 19
>  >> >  > [/CODE]
>  >> >
>  >> >  --
>  >> >  J. Daniel Kulp
>  >> >  Principal Engineer, IONA
>  >> >  [EMAIL PROTECTED]
>  >> >  http://www.dankulp.com/blog
>  >
>  >
>  >
>  > --
>  > J. Daniel Kulp
>  > Principal Engineer, IONA
>  > [EMAIL PROTECTED]
>  > http://www.dankulp.com/blog
>  >
>  >
>
>  --
>  View this message in context: 
> http://www.nabble.com/cxf-Autowiring-in-OSGI-tp16971724p16992318.html
>  Sent from the cxf-user mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Reply via email to