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.

Reply via email to