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