I've attached the patch for core. It's very simple.
-- J. Daniel Kulp Principal Engineer IONA P: 781-902-8727 C: 508-380-7194 [EMAIL PROTECTED]
Index: src/main/java/org/apache/tuscany/core/loader/impl/WSDLDefinitionRegistryImpl.java =================================================================== --- src/main/java/org/apache/tuscany/core/loader/impl/WSDLDefinitionRegistryImpl.java (revision 394706) +++ src/main/java/org/apache/tuscany/core/loader/impl/WSDLDefinitionRegistryImpl.java (working copy) @@ -26,6 +26,7 @@ import javax.wsdl.PortType; import javax.wsdl.Service; import javax.wsdl.WSDLException; +import javax.wsdl.extensions.ExtensionRegistry; import javax.wsdl.factory.WSDLFactory; import javax.wsdl.xml.WSDLReader; import javax.xml.namespace.QName; @@ -38,6 +39,7 @@ @org.osoa.sca.annotations.Service(interfaces = {WSDLDefinitionRegistry.class}) public class WSDLDefinitionRegistryImpl implements WSDLDefinitionRegistry { private final WSDLFactory wsdlFactory; + private final ExtensionRegistry registry; private final Map<URL, Definition> definitionsByLocation = new HashMap<URL, Definition>(); private final Map<String, List<Definition>> definitionsByNamespace = new HashMap<String, List<Definition>>(); @@ -46,6 +48,7 @@ public WSDLDefinitionRegistryImpl() throws WSDLException { wsdlFactory = WSDLFactory.newInstance(); + registry = wsdlFactory.newPopulatedExtensionRegistry(); } @org.apache.tuscany.core.system.annotation.Monitor @@ -63,6 +66,7 @@ monitor.readingWSDL(namespace, location); WSDLReader reader = wsdlFactory.newWSDLReader(); reader.setFeature("javax.wsdl.verbose", false); + reader.setExtensionRegistry(registry); definition = reader.readWSDL(location.toString()); String definitionNamespace = definition.getTargetNamespace(); Index: src/main/java/org/apache/tuscany/core/loader/WSDLDefinitionRegistry.java =================================================================== --- src/main/java/org/apache/tuscany/core/loader/WSDLDefinitionRegistry.java (revision 394706) +++ src/main/java/org/apache/tuscany/core/loader/WSDLDefinitionRegistry.java (working copy) @@ -22,6 +22,7 @@ import javax.wsdl.PortType; import javax.wsdl.Service; import javax.wsdl.WSDLException; +import javax.wsdl.extensions.ExtensionRegistry; import javax.xml.namespace.QName; /** @@ -54,4 +55,13 @@ * @return the Service for the supplied name, or null if none has been defined */ Service getService(QName name); + + + /** + * Returns the ExtensionRegistry that is used when parsing WSDL documents during the + * loadDefinition call. + * + * @return the ExtensionRegistry that is used when parsing WSDL documents. + */ + ExtensionRegistry getExtensionRegistry(); }