diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2008-07-08 22:51:16 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2008-07-08 22:51:16 +0000 |
commit | 78c0e27338ae7dd0f37eaf137724e070cb1745d7 (patch) | |
tree | ca6e0ec84dce1e158306895b65053b30e21ae684 | |
parent | 360d827ce6068eb841a13a9e4b79d2073de364f1 (diff) |
Set unique system id onto the in-memory DOMs representing XSDs to avoid conflicts as reported by TUSCANY-2465
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@675013 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | java/sca/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGenerator.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/java/sca/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGenerator.java b/java/sca/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGenerator.java index 624dcadb0f..2e8e34853e 100644 --- a/java/sca/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGenerator.java +++ b/java/sca/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGenerator.java @@ -20,6 +20,7 @@ package org.apache.tuscany.sca.binding.ws.wsdlgen; import java.lang.reflect.Method; +import java.net.URI; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; @@ -266,6 +267,7 @@ public class Interface2WSDLGenerator { // generate schema elements for wrappers that aren't defined in the schemas if (wrappers.size() > 0) { int i = 0; + int index = 0; Map<String, XSDefinition> wrapperXSDs = new HashMap<String, XSDefinition>(); Map<Element, Map<String, String>> prefixMaps = new HashMap<Element, Map<String, String>>(); for (Map.Entry<QName, List<ElementInfo>> entry: wrappers.entrySet()) { @@ -292,6 +294,9 @@ public class Interface2WSDLGenerator { xsDef.setUnresolved(true); xsDef.setNamespace(targetNS); xsDef.setDocument(schemaDoc); + // TUSCANY-2465: Set the system id to avoid schema conflict + xsDef.setLocation(URI.create("xsd_" + index + ".xsd")); + index++; wrapperXSDs.put(targetNS, xsDef); } Element wrapper = schemaDoc.createElementNS(SCHEMA_NS, "xs:element"); |