You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Bin Zhu <lu...@gmail.com> on 2013/06/08 07:20:05 UTC

Re: [jira] [Resolved] (CXF-5059) Refine classloader in org.apache.cxf.wsdl11.WSDLManagerImpl

Hi Freeman,
Thanks a lot for the comments, especially for the detailed example :)


2013/6/7 Freeman Fang (JIRA) <ji...@apache.org>

>
>      [
> https://issues.apache.org/jira/browse/CXF-5059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel]
>
> Freeman Fang resolved CXF-5059.
> -------------------------------
>
>     Resolution: Fixed
>
> use bus.getExtension(ClassLoader.class) as default CL
> http://svn.apache.org/r1490526 for trunk
> http://svn.apache.org/r1490529 for 2.7.x branch
> http://svn.apache.org/r1490530 for 2.6.x branch
> http://svn.apache.org/r1490532 for 2.5.x branch
>
> > Refine classloader in org.apache.cxf.wsdl11.WSDLManagerImpl
> > -----------------------------------------------------------
> >
> >                 Key: CXF-5059
> >                 URL: https://issues.apache.org/jira/browse/CXF-5059
> >             Project: CXF
> >          Issue Type: Bug
> >    Affects Versions: 2.6.2, 2.6.8
> >            Reporter: Bin Zhu
> >            Assignee: Freeman Fang
> >             Fix For: 2.5.11, 2.6.9, 2.7.6, 3.0.0
> >
> >         Attachments: CXF-5059.patch
> >
> >
> > I was packaging the CXF jars(e.g.cxf-rt-core-2.6.2.jar ) into a OSGi
> bundle then use it to create web service. In my scenario, it is found that
> if there are respect binding resources defined in the
> .war/META-INF/extensions.xml, it will not be properly loaded and will
> caused the "Unknown wsdl binding extension" error.
> > After investigation, it's found that in the
> org.apache.cxf.wsdl11.WSDLManagerImpl.registerInitialXmlExtensions()method,
> the classloader is got by the following line:
> >              initialExtensions =
> PropertiesLoaderUtils.loadAllProperties(resource,
> > -                  this.getClass().getClassLoader());
> > And caused the classes defined in .war/META-INF/extensions.xml was not
> correctly loaded.
> > I checked the similar scenario in
> org.apache.cxf.catalog.OASISCatalogManager.loadContextCatalogs and found it
> get classload like this:
> > loadCatalogs(Thread.currentThread().getContextClassLoader(), name);
> > So I tried to refine the classloader in WSDLManagerImpl like this and
> now it works in my test. Could someone help review this patch? Thanks in
> advance.
>
> --
> This message is automatically generated by JIRA.
> If you think it was sent incorrectly, please contact your JIRA
> administrators
> For more information on JIRA, see: http://www.atlassian.com/software/jira
>