Hi, Well, using CXF is not for the faint-of-heart ;-)
Having said this, you should be extremely cautious at what to actually include with the CXF bundle. For example: commons-logging, slf4j, and all jetty libraries must not be included because either the functionality is already provided by other bundles in Sling (commons logging, slf4j) or is part of the Sling offering (the jetty bundles). Apart from that you might want to make sure to properly set the Thread context class loader to the correct bundle class loader (propably your client bundle) before calling into CXF. ... And don't forget to reset the Thread context class loader after the call ! The reason is that CXF seems to do class loading stuff, which is not really properly abstracted to run in an OSGi framework. Alternatively: have you looked at the dOSGi project inside CXF ? This project comes with properly bundled CXF (again, take extrem care to not package bundles and libraries already present in Sling). Regards Felix Am Mittwoch, den 08.12.2010, 12:44 +0530 schrieb Unmesh Joshi: > Hi, > > My OSGI bundle used on sling app is using CXF client to make web > service calls. I have included all the CXF and dependent jars in the > bundle. But I am getting following exception when I run the app. This > works fine as standalone app. I suspect that this is some classloading > issue. Anyone has seen this kind issue before? > > java.lang.NullPointerException > at > org.apache.cxf.jaxb.JAXBDataBinding.createContext(JAXBDataBinding.java:566) > at > org.apache.cxf.jaxb.JAXBDataBinding.createJAXBContextAndSchemas(JAXBDataBinding.java:504) > at > org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:324) > at > org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings(AbstractServiceFactoryBean.java:86) > at > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:442) > at > org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:645) > at > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:505) > at > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:242) > at > org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:184) > > > Here is bundle imports and classpath > > Bundle-Classpath: .,antlr-2.7.7.jar,aopalliance-1.0.jar,asm-3.3.jar,bc > prov-jdk15-1.43.jar,commons-collections-3.2.1.jar,commons-lang-2.5.ja > r,commons-logging-1.1.1.jar,commons-pool-1.5.2.jar,cxf-2.3.0.jar,cxf- > manifest.jar,cxf-xjc-boolean-2.3.0.jar,cxf-xjc-bug671-2.3.0.jar,cxf-x > jc-dv-2.3.0.jar,cxf-xjc-ts-2.3.0.jar,FastInfoset-1.2.8.jar,geronimo-a > ctivation_1.1_spec-1.1.jar,geronimo-annotation_1.0_spec-1.1.1.jar,ger > onimo-javamail_1.4_spec-1.7.1.jar,geronimo-jaxws_2.2_spec-1.0.jar,ger > onimo-jms_1.1_spec-1.1.1.jar,geronimo-servlet_3.0_spec-1.0.jar,geroni > mo-stax-api_1.0_spec-1.0.1.jar,geronimo-ws-metadata_2.0_spec-1.1.3.ja > r,jaxb-api-2.2.1.jar,jaxb-impl-2.2.1.1.jar,jaxb-xjc-2.2.1.1.jar,jetti > son-1.2.jar,jetty-continuation-7.1.6.v20100715.jar,jetty-http-7.1.6.v > 20100715.jar,jetty-io-7.1.6.v20100715.jar,jetty-server-7.1.6.v2010071 > 5.jar,jetty-util-7.1.6.v20100715.jar,jra-1.0-alpha-4.jar,js-1.7R1.jar > ,jsr311-api-1.1.1.jar,neethi-2.0.4.jar,oro-2.0.8.jar,saaj-api-1.3.jar > ,saaj-impl-1.3.2.jar,serializer-2.7.1.jar,slf4j-api-1.6.1.jar,slf4j-j > dk14-1.6.1.jar,spring-aop-3.0.4.RELEASE.jar,spring-asm-3.0.4.RELEASE. > jar,spring-beans-3.0.4.RELEASE.jar,spring-context-3.0.4.RELEASE.jar,s > pring-core-3.0.4.RELEASE.jar,spring-expression-3.0.4.RELEASE.jar,spri > ng-jms-3.0.4.RELEASE.jar,spring-tx-3.0.4.RELEASE.jar,spring-web-3.0.4 > .RELEASE.jar,stax2-api-3.0.2.jar,velocity-1.6.4.jar,webservices.jar,w > oodstox-core-asl-4.0.8.jar,wsdl4j-1.6.2.jar,wss4j-1.5.9.jar,xalan-2.7 > .1.jar,xmlbeans-2.4.0.jar,xml-resolver-1.2.jar,XmlSchema-1.4.7.jar,xm > lsec-1.4.3.jar > > Import-Package: org.osgi.framework, javax.servlet, org.apache.sling.a > pi.resource, org.apache.sling.api, javax.servlet.http, org.apache.sli > ng.api.servlets, org.w3c.dom, javax.xml.namespace, javax.xml.transfor > m, org.xml.sax, javax.xml.parsers, javax.xml.transform.sax,javax.xml. > transform.dom,javax.management, javax.management.modelmbean, javax.xm > l.datatype, javax.xml.bind.annotation > > Build-Jdk: 1.5.0_16 > > Thanks, > Unmesh
