You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Freeman Fang (JIRA)" <ji...@apache.org> on 2013/06/06 10:51:24 UTC

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

    [ https://issues.apache.org/jira/browse/CXF-5059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13676847#comment-13676847 ] 

Freeman Fang commented on CXF-5059:
-----------------------------------

Hi,

Though not take a close look at this issue, just a quick hint, since CXF 2.6.0, cxf-rt-core is already an OSGi bundle, so you needn't package it as a bundle yourself. Try use it as a bundle directly and see if you still run into this issue.

Freeman
                
> 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
>             Fix For: 2.6.9
>
>         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