Author: isurues
Date: Tue Jan 18 10:46:36 2011
New Revision: 1060294

URL: http://svn.apache.org/viewvc?rev=1060294&view=rev
Log:
fixing https://issues.apache.org/jira/browse/AXIS2-4929. Using a unique id when 
reading a schema using the SchemaCollection

Modified:
    
axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/builder/JAXWSRIWSDLGenerator.java

Modified: 
axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/builder/JAXWSRIWSDLGenerator.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/builder/JAXWSRIWSDLGenerator.java?rev=1060294&r1=1060293&r2=1060294&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/builder/JAXWSRIWSDLGenerator.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/builder/JAXWSRIWSDLGenerator.java
 Tue Jan 18 10:46:36 2011
@@ -39,6 +39,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ws.commons.schema.XmlSchema;
 import org.apache.ws.commons.schema.XmlSchemaCollection;
+import org.w3c.dom.Document;
 import org.xml.sax.InputSource;
 
 import javax.servlet.ServletConfig;
@@ -47,6 +48,7 @@ import javax.wsdl.Definition;
 import javax.wsdl.WSDLException;
 import javax.wsdl.factory.WSDLFactory;
 import javax.wsdl.xml.WSDLReader;
+import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.ws.WebServiceException;
 import javax.xml.ws.soap.SOAPBinding;
 import java.io.ByteArrayOutputStream;
@@ -321,9 +323,18 @@ public class JAXWSRIWSDLGenerator implem
             schemaCollection.setBaseUri(new 
File(localOutputDirectory).getAbsolutePath());
 
             HashMap<String, XmlSchema> docMap = new HashMap<String, 
XmlSchema>();
+
+            // Doc factory to read schema files
+            DocumentBuilderFactory fac = DocumentBuilderFactory.newInstance();
+            fac.setNamespaceAware(true);
+
             List<File> schemaFiles = getSchemaFiles(localOutputDirectory);
             for (File schemaFile : schemaFiles) {
-                XmlSchema doc = schemaCollection.read(new 
InputSource(schemaFile.toURL().toString()), null);
+                // generate dom document for current schema file
+                Document parsedDoc = 
fac.newDocumentBuilder().parse(schemaFile.toURL().toString());
+                // read the schema through XmlSchema
+                XmlSchema doc = 
schemaCollection.read(parsedDoc.getDocumentElement(),
+                        "id-" + System.currentTimeMillis());
                 if (log.isDebugEnabled()) {
                     log.debug("Read in schema file: " + schemaFile.getName());
                 }


Reply via email to