I was able to get this resolved by making the CXF bundle a fragment of the
tomcat bundle. This is the only option to deal with the CXF + Spring
combination. I think this is good enough for the initial implementation.

However, while investigating the possible options, there are two other
improvements we can do.

1. Supporting CXF services as OSGi bundles. Here we have to use blueprint
to load the CXF context. This is already done in Karaf and it will be a
good addition to our framework as well.
2. Supporting Webapps as OSGi bundles. This is something that we've already
discussed and this is also done in Karaf.

Let's try to get these two also done for Carbon 4.0.0. This will take us
even closer to a pure OSGi based framework.

Thanks,
~Isuru

On Thu, Mar 1, 2012 at 3:44 PM, Isuru Suriarachchi <[email protected]> wrote:

> Hi all,
>
> I'm facing a critical OSGi level issue when CXF is integrated into Carbon.
> CXF completely runs on spring and it has it's own spring handlers used for
> different purposes. So my CXF bundle has the spring.handlers file which
> registers custom spring handlers for each namespace. Following registration
> can be found in that file.
>
> http\://cxf.apache.org/jaxws=org.apache.cxf.jaxws.spring.NamespaceHandler
>
> Above class is also in my CXF bundle. But when I try to deploy a CXF
> service, it gives the following error.
>
> [2012-03-01 15:17:02,983]  INFO
> {org.springframework.beans.factory.xml.XmlBeanDefinitionReader} -  Loading
> XML bean definitions from URL
> [jndi:/localhost/cxf-library/WEB-INF/cxf-servlet.xml]
> Mar 1, 2012 3:17:05 PM org.apache.catalina.core.ApplicationContext log
> SEVERE: StandardWrapper.Throwable
> org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
> Configuration problem: Unable to locate Spring NamespaceHandler for XML
> schema namespace [http://cxf.apache.org/jaxws]
> Offending resource: URL
> [jndi:/localhost/cxf-library/WEB-INF/cxf-servlet.xml]
> at
> org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
>  at
> org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
> at
> org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:80)
>  at
> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:316)
> at
> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1416)
>  at
> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1409)
>
> So it looks like the spring framework is unable to see the spring.handlers
> file when it runs in the OSGi environment. I tried different options to
> overcome this without any luck. Any ideas on how to resolve this?..
>
> Thanks,
> ~Isuru
>
> --
> Isuru Suriarachchi
> Technical Lead
> WSO2 Inc. http://wso2.com
> email : [email protected]
> blog : http://isurues.wordpress.com/
>
> lean . enterprise . middleware
>
>


-- 
Isuru Suriarachchi
Technical Lead
WSO2 Inc. http://wso2.com
email : [email protected]
blog : http://isurues.wordpress.com/

lean . enterprise . middleware
_______________________________________________
Carbon-dev mailing list
[email protected]
http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to