You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Peter Gardfjell <pe...@gmail.com> on 2008/05/02 19:08:05 UTC

Re: cxf Autowiring in OSGI


Hi guys,

I have actually packaged CXF (and a subset of its dependencies) as an OSGi
bundle and used it from another (service) bundle that is not managed by
Spring DM. As far as I can tell, everything works well. I used the Bnd
bundling tool to generate the bundle and its OSGi manifest headers. Or,
rather, I used the maven-bundle-plugin (which is a Maven plugin that wraps
the Bnd tool). Initially, I also experienced problems similar to the one
described by Dave. As it turned out, the problems were caused by my bundle
not making META-INF/cxf and META-INF/services available to other bundles.
Hence, I needed to add META-INF.cxf and META-INF.services to the CXF
bundle's Export-Package manifest header.

Although I intend to use Spring DM, I have only tested it with a service
bundle that was _not_ wired up by Spring DM. That is, I register my web
service with the (standard JAX-WS) Endpoint.publish() method. CXF fires up
its engine, the service is published, and I can invoke it from client code.
Everything seems to be working just fine. However, I haven't tested it
extensively yet.

For what it's worth, the maven build file (pom.xml) is provided below. As
you can see, I have chosen to strip down the CXF bundle by excluding some of
its dependencies that I either did not need or chose to provide in separate
OSGi bundles. I guess the instructions passed to the maven-bundle-plugin may
be of interest. (As a side-note, I looked at the ServiceMix bundling of CXF
when I wrote this build file). As I'm a novice, both when it comes to OSGi
and maven, I would appreciate if you would care to comment any potential
problems you see with the bundling.

cheers, Peter

-------------------------------
<?xml version="1.0"?>
<project>

  <!-- Generates an OSGi bundle for the Apache CXF implementation
       of the JAX-WS specification. The build works but generates
       build errors due to (forced) classpath entries that are not
       "approved" by the Bnd tool. This error is, however, 
       supressed to make sure that a bundle is created anyway. -->

  <modelVersion>4.0.0</modelVersion>
  <groupId>cxf.osgi</groupId>
  <artifactId>cxf.osgi</artifactId>
  <name>Apache CXF OSGi bundle</name>
  <version>2.1</version>
  <packaging>bundle</packaging>

  <dependencies>
      <dependency>
          <groupId>org.apache.cxf</groupId>
          <artifactId>cxf-bundle</artifactId>
          <version>2.1</version>
          <exclusions>
              <!-- No WS-Security support -->
              <exclusion>
                  <groupId>bouncycastle</groupId>
                  <artifactId>bcprov-jdk14</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>xalan</groupId>
                  <artifactId>xalan</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>org.apache.ws.security</groupId>
                  <artifactId>wss4j</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>xml-security</groupId>
                  <artifactId>xmlsec</artifactId>
              </exclusion>
              <!-- Exclude log4j (provided by Spring DM) -->
              <exclusion>
                  <groupId>log4j</groupId>
                  <artifactId>log4j</artifactId>
              </exclusion>             
              <!-- Exclude spring (provided by platform) -->
              <exclusion>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-beans</artifactId>
              </exclusion>             
              <exclusion>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-context</artifactId>
              </exclusion>             
              <exclusion>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-web</artifactId>
              </exclusion>             
              <exclusion>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-core</artifactId>
              </exclusion>             
              <!-- No Aegis support -->
              <exclusion>
                  <groupId>jaxen</groupId>
                  <artifactId>jaxen</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>stax-utils</groupId>
                  <artifactId>stax-utils</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>jdom</groupId>
                  <artifactId>jdom</artifactId>
              </exclusion>
              <!-- No JAX-RS support included -->
              <exclusion>
                  <groupId>javax.ws.rs</groupId>
                  <artifactId>jsr311-api</artifactId>
              </exclusion>             
              <exclusion>
                  <groupId>org.codehaus.jettison</groupId>
                  <artifactId>jettison</artifactId>
              </exclusion>             
              <exclusion>
                  <groupId>org.apache.abdera</groupId>
                  <artifactId>abdera-core</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>org.apache.abdera</groupId>
                  <artifactId>abdera-extensions-main</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>org.apache.abdera</groupId>
                  <artifactId>abdera-parser</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>org.apache.abdera</groupId>
                  <artifactId>abdera-server</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>org.apache.abdera</groupId>
                  <artifactId>abdera-extensions-html</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>org.apache.abdera</groupId>
                  <artifactId>abdera-extensions-json</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>org.apache.abdera</groupId>
                  <artifactId>abdera-i18n</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>org.apache.ws.commons.axiom</groupId>
                  <artifactId>axiom-api</artifactId>
              </exclusion>              
              <exclusion>
                  <groupId>org.apache.ws.commons.axiom</groupId>
                  <artifactId>axiom-impl</artifactId>
              </exclusion>              
              <!-- Exclude JMS transport support -->
              <exclusion>
                  <groupId>org.apache.geronimo.specs</groupId>
                  <artifactId>geronimo-jms_1.1_spec</artifactId>
              </exclusion>                            
              <!-- Exclude CORBA support -->
              <exclusion>
                  <groupId>antlr</groupId>
                  <artifactId>antlr</artifactId>
              </exclusion>                            
              <!-- Exclude dependencies needed for Java2WSDL and WSDL2Java
-->
              <exclusion>
                  <groupId>velocity</groupId>
                  <artifactId>velocity</artifactId>
              </exclusion>                                          
              <exclusion>
                  <groupId>velocity</groupId>
                  <artifactId>velocity-dep</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>com.sun.xml.bind</groupId>
                  <artifactId>jaxb-xjc</artifactId>
              </exclusion>
              <!-- Exclude xmlbeans dependency -->
              <exclusion>
                  <groupId>org.apache.xmlbeans</groupId>
                  <artifactId>xmlbeans</artifactId>
              </exclusion>              
              <!-- Exclude mozilla javascript lib -->
              <exclusion>
                  <groupId>rhino</groupId>
                  <artifactId>js</artifactId>
              </exclusion>              
              <!-- Exclude ant lib -->
              <exclusion>
                  <groupId>ant</groupId>
                  <artifactId>ant</artifactId>
              </exclusion>              
              <exclusion>
                  <groupId>ant</groupId>
                  <artifactId>ant-nodeps</artifactId>
              </exclusion>              
              <!-- Exclude commons-logging (provide as a separate target
platform bundle) -->
              <exclusion>
                  <groupId>commons-logging</groupId>
                  <artifactId>commons-logging</artifactId>
              </exclusion>              
              <!-- Exclude jetty (provide as a target platform bundle
instead) -->
              <exclusion>
                  <groupId>org.mortbay.jetty</groupId>
                  <artifactId>jetty</artifactId>
              </exclusion>                            
              <exclusion>
                  <groupId>org.mortbay.jetty</groupId>
                  <artifactId>jetty-util</artifactId>
              </exclusion>                            
              <!-- Exclude asm (provided via Spring DM as a separate bundle
in the target platform) -->
              <exclusion>
                  <groupId>asm</groupId>
                  <artifactId>asm</artifactId>
              </exclusion>                            
              <!-- Exclude aopalliance (provided via Spring DM as a separate
bundle in the target platform) -->
              <exclusion>
                  <groupId>aopalliance</groupId>
                  <artifactId>aopalliance</artifactId>
              </exclusion>                            
          </exclusions>
      </dependency>
  </dependencies>

  <!-- TODO: take a look at what repositories should be used. -->
  <repositories>
    <!-- Default repository -->
    <repository>
       <id>central</id>
       <name>Default maven repo</name>
       <url>http://repo1.maven.org/maven2</url>
    </repository>
    <repository>    
      <id>apache.org.snapshot</id>
      <name>apache.org.snapshot</name>
      <url>http://people.apache.org/repo/m2-snapshot-repository</url>
    </repository>  
    <repository>    
      <id>apache.org.incubator</id>
      <name>apache.org.incubator</name>
      <url>http://people.apache.org/repo/m2-incubating-repository</url>
    </repository>  
    <repository>
        <id>java.net</id>
        <name>java.net Maven Repository</name>
        <url>http://download.java.net/maven/1/</url>
        <layout>legacy</layout>
        <releases>
             <enabled>true</enabled>
        </releases>
        <snapshots>
           <enabled>false</enabled>
        </snapshots>
    </repository>
    <!-- To get jsr173.jar and jsr173-ri.jar -->
    <repository>    
      <id>servicemix.repository</id>
      <name>servicemix.repository</name>
      <url>http://svn.apache.org/repos/asf/servicemix/m2-repo</url>
    </repository>  
  </repositories>

  <properties>
    <!-- Bundle manifest properties -->
    <bundle.symbolic.name>${groupId}</bundle.symbolic.name>
    <bundle.description>Apache CXF OSGi bundle</bundle.description>
    <!-- Need to export META-INF/cxf directory to make CXF configuration 
         files available. Also, META-INF/services, which contain
         service provider declarations, needs to be exported. -->
    <export.package>!1.0*, javax.jws*;version=2.0,
*;-split-package:=merge-first, '=META-INF.cxf',
'=META-INF.services'</export.package>
    <import.package>org.apache.commons.logging*, org.xml.*, org.w3c*,
org.mortbay*, *;resolution:=optional</import.package>
    <dynamic.import.package>*</dynamic.import.package>
  </properties>

  <build>
    <plugins>
      <!-- maven-bundle-plugin configuration -->
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>1.4.0</version>
        <extensions>true</extensions>
        <configuration>
          <manifestLocation>META-INF</manifestLocation>
          <instructions>
           
<Bundle-SymbolicName>${bundle.symbolic.name}</Bundle-SymbolicName>
            <Bundle-Description>${bundle.description}</Bundle-Description>
            <Bundle-Activator>${bundle.activator.class}</Bundle-Activator>
            <Export-Package>${export.package}</Export-Package>
            <Private-Package>${private.package}</Private-Package>
            <Import-Package>${import.package}</Import-Package>
           
<DynamicImport-Package>${dynamic.import.package}</DynamicImport-Package>
            <!-- The bundle plugin does not like us explicitly adding
                 META-INF/cxf and META-INF/services to the bundle's
                 set of exported packages. This instruction prevents
                 the bundling from failing. -->
            <_failok>true</_failok>
          </instructions>
        </configuration>
      </plugin>

      <!-- configure manifest generation plugin -->
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <executions>
          <execution>
            <id>bundle-manifest</id>
            <phase>process-classes</phase>
            <goals>
              <goal>manifest</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>    


</project>








gnodet wrote:
> 
> Here's what we came up with so far:
>    
> http://servicemix.apache.org/SMX4/cxf-examples.html#CXFexamples-Insidetheexample
> 
> 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 <dk...@apache.org> 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 <db...@apache.org>
>>  > Sent: Tuesday, April 29, 2008 6:27pm
>>  > To: users@cxf.apache.org
>>  > Cc: dave@mebigfatguy.com
>>  > 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).initializeSe
>>  >rviceFactory() line: 143
>>  > JaxWsServerFactoryBean(AbstractWSDLBasedEndpointFactory).createEndpoin
>>  >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).invoke
>>  >CustomInitMethod(String, Object, String, boolean) line: 1378
>>  > DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).invokeI
>>  >nitMethods(String, Object, RootBeanDefinition) line: 1339
>>  > DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).initial
>>  >izeBean(String, Object, RootBeanDefinition) line: 1299
>>  > DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).doCreat
>>  >eBean(String, RootBeanDefinition, Object[]) line: 463
>>  > AbstractAutowireCapableBeanFactory$1.run() line: 404
>>  >       AccessController.doPrivileged(PrivilegedAction<T>) line: not
>>  > available [native method]
>>  > DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).createB
>>  >ean(String, RootBeanDefinition, Object[]) line: 375
>>  > AbstractBeanFactory$1.getObject() line: 263
>>  >      
>> DefaultListableBeanFactory(DefaultSingletonBeanRegistry).getSingleton
>>  >(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).finishBean
>>  >FactoryInitialization(ConfigurableListableBeanFactory) line: 729
>>  > OsgiBundleXmlApplicationContext(AbstractDelegatedExecutionApplicationC
>>  >ontext).completeRefresh() line: 268
>>  > DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run()
>>  > line: 142
>>  > DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run()
>>  > 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).initializeSe
>>  >rviceFactory() line: 143
>>  > JaxWsServerFactoryBean(ServerFactoryBean).initializeServiceFactory()
>>  > line: 149
>>  > JaxWsServerFactoryBean(AbstractWSDLBasedEndpointFactory).createEndpoin
>>  >t() line: 73 JaxWsServerFactoryBean(ServerFactoryBean).create() line:
>>  > 113 JaxWsServerFactoryBean.create() line: 160
>>  >       Main.main(String[]) line: 19
>>  >
>>  >
>>  >
>>  >
>>  > -----Original Message-----
>>  > From: Dave Brosius <db...@apache.org>
>>  > Sent: Tuesday, April 29, 2008 6:15pm
>>  > To: users@cxf.apache.org
>>  > Cc: dave@mebigfatguy.com
>>  > 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).applyBe
>>  >anPostProcessorsAfterInitialization(Object, String) line: 357
>>  > DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).initial
>>  >izeBean(String, Object, RootBeanDefinition) line: 1308
>>  > DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).doCreat
>>  >eBean(String, RootBeanDefinition, Object[]) line: 463
>>  > AbstractAutowireCapableBeanFactory$1.run() line: 404
>>  >       AccessController.doPrivileged(PrivilegedAction<T>) line: not
>>  > available [native method]
>>  > DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).createB
>>
>> >ean(String, RootBeanDefinition, Object[]) line: 375
>>  > AbstractBeanFactory$1.getObject() line: 263
>>  >      
>> DefaultListableBeanFactory(DefaultSingletonBeanRegistry).getSingleton
>>  >(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).finishBeanFactoryIni
>>  >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).initializeSe
>>
>> >rviceFactory() line: 143
>>  > JaxWsServerFactoryBean(ServerFactoryBean).initializeServiceFactory()
>>  > line: 149
>>  > JaxWsServerFactoryBean(AbstractWSDLBasedEndpointFactory).createEndpoin
>>
>>
>> >t() line: 73 JaxWsServerFactoryBean(ServerFactoryBean).create() line:
>>  > 113 JaxWsServerFactoryBean.create() line: 160
>>  >       Main.main(String[]) line: 19
>>  > [/CODE]
>>
>>
>>
>>  --
>>  J. Daniel Kulp
>>  Principal Engineer, IONA
>>  dkulp@apache.org
>>  http://www.dankulp.com/blog
>>
> 
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> 
> 

-- 
View this message in context: http://www.nabble.com/cxf-Autowiring-in-OSGI-tp16971724p17023794.html
Sent from the cxf-user mailing list archive at Nabble.com.