diff --git a/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLManagerImpl.java b/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLManagerImpl.java index e294429..aa47bd9 100644 --- a/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLManagerImpl.java +++ b/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLManagerImpl.java @@ -78,7 +78,6 @@ public class WSDLManagerImpl implements WSDLManager { private static final String EXTENSIONS_RESOURCE_COMPAT = "META-INF/extensions.xml"; final ExtensionRegistry registry; - final WSDLFactory factory; final Map definitionsMap; /** @@ -89,6 +88,7 @@ public class WSDLManagerImpl implements WSDLManager { private boolean disableSchemaCache; private Bus bus; + private WSDLFactory factory; public WSDLManagerImpl() throws BusException { this(null); @@ -136,6 +136,12 @@ public class WSDLManagerImpl implements WSDLManager { if (loc != null) { loc.getBeansOfType(WSDLExtensionLoader.class); } + + // Allow user to provide custom factory + WSDLFactory wsdlFactory = bus.getExtension(WSDLFactory.class); + if (wsdlFactory != null) { + this.factory = wsdlFactory; + } } }