Bin Zhu created CXF-5059:
----------------------------

             Summary: 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.8, 2.6.2
            Reporter: Bin Zhu
             Fix For: 2.6.9


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

Reply via email to