Hi,

I managed to get around with CXF error by setting context classloader
explicitly.

Thread.currentThread().setContextClassLoader(getClass().getClassLoader());

But considering complications with class loading issues. I think we
are moving in the direction of deploying our application as a separate
war and just having a thin ResourceProvider/Servlet layer in apache
sling (Which I am hoping to work as it is in Day CQ).

I think using Day as application container is particularly problematic
if the application has to do third party integration and has more to
do than just persist and present data in JCR.


On Sun, Dec 12, 2010 at 8:43 AM, Wayne Lund <[email protected]> wrote:
> Interesting timing on this thread. We've been trying for the past few weeks 
> and came so close but abandoned the idea.  We ended at the point where we had 
> all of the bundles resolved but were getting an unresolved resolved trying to 
> access a /schemas/wsrm..xsd.
>
> We're actually using crx but the first approach that we got working was to 
> bootstrap the cxf jars + spring jars in e lib/container and it worked but we 
> were not happy with the subsequent class loading issues when needing to load 
> our own jars/bundles and there dependencies.
>
> The option we went with was to generate webapps with the client cxf code and 
> deploy those in the servlet container. The data is now returned to the 
> day/sling client via json or xml.
>
> Hope that helps,
>
> Sent from my iPad
>
> On Dec 8, 2010, at 2:37 AM, Felix Meschberger <[email protected]> wrote:
>
> 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
>
>
>
>
>
>
>

Reply via email to