Author: dkulp
Date: Fri Jul 17 17:35:14 2009
New Revision: 795160
URL: http://svn.apache.org/viewvc?rev=795160&view=rev
Log:
Fix an issue with xmlbeans where a wsdl:import of a schema (instead of
a schema import) would not generate types.
Modified:
cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansToolingDataBinding.java
Modified:
cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansToolingDataBinding.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansToolingDataBinding.java?rev=795160&r1=795159&r2=795160&view=diff
==============================================================================
---
cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansToolingDataBinding.java
(original)
+++
cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansToolingDataBinding.java
Fri Jul 17 17:35:14 2009
@@ -66,6 +66,7 @@
import org.apache.xmlbeans.impl.schema.StscState;
import org.apache.xmlbeans.impl.tool.CodeGenUtil;
import org.apache.xmlbeans.impl.util.FilerImpl;
+import org.apache.xmlbeans.impl.xb.substwsdl.TImport;
import org.apache.xmlbeans.impl.xb.xmlconfig.ConfigDocument;
import org.apache.xmlbeans.impl.xb.xmlconfig.Extensionconfig;
import org.apache.xmlbeans.impl.xb.xsdschema.SchemaDocument;
@@ -267,9 +268,22 @@
XmlObject urldoc = loader.parse(url, null, options);
if (urldoc instanceof
org.apache.xmlbeans.impl.xb.substwsdl.DefinitionsDocument) {
+ org.apache.xmlbeans.impl.xb.substwsdl.DefinitionsDocument
wsdldoc =
+
(org.apache.xmlbeans.impl.xb.substwsdl.DefinitionsDocument)urldoc;
+
addWsdlSchemas(url.toString(),
-
(org.apache.xmlbeans.impl.xb.substwsdl.DefinitionsDocument)urldoc,
+ wsdldoc,
errorListener, scontentlist);
+
+ for (TImport imp : wsdldoc.getDefinitions().getImportArray()) {
+ if (imp.getLocation().toLowerCase().endsWith(".xsd")) {
+ URL url1 = new URL(url, imp.getLocation());
+ XmlObject urldoc2 = loader.parse(url1, null, options);
+ addSchema(url1.toString(), (SchemaDocument)urldoc2,
errorListener, false,
+ scontentlist);
+ }
+ }
+
} else if (urldoc instanceof SchemaDocument) {
addSchema(url.toString(), (SchemaDocument)urldoc,
errorListener, false,
scontentlist);
@@ -411,6 +425,7 @@
StscState.addInfo(errorListener, "Loading wsdl file " + name);
XmlOptions opts = new XmlOptions().setErrorListener(errorListener);
XmlObject[] types = wsdldoc.getDefinitions().getTypesArray();
+
int count = 0;
for (int j = 0; j < types.length; j++) {
XmlObject[] schemas = types[j]