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();
}