You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by pe...@apache.org on 2006/10/11 21:59:11 UTC
svn commit: r462922 - in /incubator/cxf/trunk:
rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/
tools/common/src/main/java/org/apache/cxf/tools/common/
tools/common/src/main/java/org/apache/cxf/tools/util/
tools/misctools/src/main/java/org/apache/...
Author: peterjones
Date: Wed Oct 11 12:59:10 2006
New Revision: 462922
URL: http://svn.apache.org/viewvc?view=rev&rev=462922
Log:
[CXF-117] Couple of validator fixes.
Found another problem case for the schema validator with imported wsdls.
Made a small fix and updated the test cases.
Made UniqueBodyParts validator check per portType.
Removed a bit of unnecessary dependency between SchemaValidator and
WSDLElementReferenceValidator.
Added:
incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/ValidatorUtil.java (with props)
incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/schema2.xsd (with props)
Modified:
incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java
incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ToolConstants.java
incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/util/WSDLExtensionRegister.java
incubator/cxf/trunk/tools/misctools/src/main/java/org/apache/cxf/tools/misc/processor/AbstractWSDLToProcessor.java
incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/SchemaValidator.java
incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/UniqueBodyPartsValidator.java
incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSDL11Validator.java
incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSDLElementReferenceValidator.java
incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/hello_world_import.wsdl
incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/hello_world_schema_import.wsdl
incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/schema1.xsd
incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToProcessor.java
incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessorTest.java
Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java?view=diff&rev=462922&r1=462921&r2=462922
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java Wed Oct 11 12:59:10 2006
@@ -102,8 +102,7 @@
ServiceWSDLBuilder wsdlBuilder =
new ServiceWSDLBuilder(service.getServiceInfo());
- Definition d = wsdlBuilder.build();
- return d;
+ return wsdlBuilder.build();
}
public void testEndpoint() throws Exception {
Modified: incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ToolConstants.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ToolConstants.java?view=diff&rev=462922&r1=462921&r2=462922
==============================================================================
--- incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ToolConstants.java (original)
+++ incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ToolConstants.java Wed Oct 11 12:59:10 2006
@@ -132,7 +132,7 @@
//public static final String RAW_JAXB_MODEL = "rawjaxbmodel";
- // JMS adress
+ // JMS address
public static final String NS_JMS_ADDRESS = "http://cxf.apache.org/transports/jms";
public static final QName JMS_ADDRESS = new QName(NS_JMS_ADDRESS, "address");
Modified: incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/util/WSDLExtensionRegister.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/util/WSDLExtensionRegister.java?view=diff&rev=462922&r1=462921&r2=462922
==============================================================================
--- incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/util/WSDLExtensionRegister.java (original)
+++ incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/util/WSDLExtensionRegister.java Wed Oct 11 12:59:10 2006
@@ -54,7 +54,7 @@
wsdlreader = reader;
}
- public void registerExtenstions() {
+ public void registerExtensions() {
ExtensionRegistry registry = wsdlreader.getExtensionRegistry();
if (registry == null) {
registry = wsdlFactory.newPopulatedExtensionRegistry();
Modified: incubator/cxf/trunk/tools/misctools/src/main/java/org/apache/cxf/tools/misc/processor/AbstractWSDLToProcessor.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/misctools/src/main/java/org/apache/cxf/tools/misc/processor/AbstractWSDLToProcessor.java?view=diff&rev=462922&r1=462921&r2=462922
==============================================================================
--- incubator/cxf/trunk/tools/misctools/src/main/java/org/apache/cxf/tools/misc/processor/AbstractWSDLToProcessor.java (original)
+++ incubator/cxf/trunk/tools/misctools/src/main/java/org/apache/cxf/tools/misc/processor/AbstractWSDLToProcessor.java Wed Oct 11 12:59:10 2006
@@ -118,7 +118,7 @@
wsdlReader = wsdlFactory.newWSDLReader();
wsdlReader.setFeature("javax.wsdl.verbose", false);
WSDLExtensionRegister register = new WSDLExtensionRegister(wsdlFactory, wsdlReader);
- register.registerExtenstions();
+ register.registerExtensions();
wsdlDefinition = wsdlReader.readWSDL(wsdlURL);
parseImports(wsdlDefinition);
buildWSDLDefinition();
Modified: incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/SchemaValidator.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/SchemaValidator.java?view=diff&rev=462922&r1=462921&r2=462922
==============================================================================
--- incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/SchemaValidator.java (original)
+++ incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/SchemaValidator.java Wed Oct 11 12:59:10 2006
@@ -20,35 +20,24 @@
package org.apache.cxf.tools.validator.internal;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URISyntaxException;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.logging.Logger;
import javax.wsdl.WSDLException;
import javax.wsdl.factory.WSDLFactory;
import javax.wsdl.xml.WSDLReader;
import javax.xml.XMLConstants;
-import javax.xml.namespace.QName;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
-import javax.xml.stream.XMLEventReader;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamException;
import javax.xml.transform.Source;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.sax.SAXSource;
@@ -57,9 +46,7 @@
import javax.xml.validation.Validator;
import org.w3c.dom.Document;
-import org.w3c.dom.Element;
import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
import org.w3c.dom.ls.LSInput;
import org.w3c.dom.ls.LSResourceResolver;
@@ -71,12 +58,10 @@
import org.apache.cxf.common.i18n.Message;
import org.apache.cxf.common.logging.LogUtils;
import org.apache.cxf.helpers.DOMUtils;
+import org.apache.cxf.resource.URIResolver;
import org.apache.cxf.tools.common.ToolException;
-import org.apache.cxf.tools.common.WSDLConstants;
import org.apache.cxf.tools.util.WSDLExtensionRegister;
-import org.apache.ws.commons.schema.XmlSchemaCollection;
-
public class SchemaValidator extends AbstractValidator {
protected static final Logger LOG = LogUtils.getL7dLogger(SchemaValidator.class);
@@ -92,18 +77,6 @@
private SAXParser saxParser;
- private Document schemaValidatedDoc;
-
- private Map<String, Document> wsdlImportDocs;
-
- private Map<String, XmlSchemaCollection> xmlSchemaMap = new HashMap<String, XmlSchemaCollection>();
-
- private Map<QName, List> msgPartsMap = new HashMap<QName, List>();
-
- private Map<QName, Map> portTypes = new HashMap<QName, Map>();
-
- private Map<QName, QName> bindingMap = new HashMap<QName, QName>();
-
public SchemaValidator(String schemaDir) throws ToolException {
super(schemaDir);
schemaLocation = schemaDir;
@@ -198,39 +171,20 @@
throw new ToolException(errHandler.getErrorMessages());
}
- XMLEventReader xmlEventReader = null;
try {
WSDLFactory wsdlFactory = WSDLFactory.newInstance();
WSDLReader reader = wsdlFactory.newWSDLReader();
reader.setFeature("javax.wsdl.verbose", false);
WSDLExtensionRegister register = new WSDLExtensionRegister(wsdlFactory, reader);
- register.registerExtenstions();
+ register.registerExtensions();
def = reader.readWSDL(wsdlsource.getSystemId());
-
- XMLInputFactory factory = XMLInputFactory.newInstance();
- factory.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, true);
-
- File file = new File(new URI(wsdlsource.getSystemId()));
- xmlEventReader = factory.createXMLEventReader(new FileReader(file));
-
} catch (WSDLException e) {
throw new ToolException(e);
- } catch (XMLStreamException streamEx) {
- throw new ToolException(streamEx);
- } catch (URISyntaxException e) {
- throw new ToolException(e);
- }
-
- doSchemaValidation(document, errHandler);
-
- if (!errHandler.isValid()) {
- throw new ToolException(errHandler.getErrorMessages());
}
- this.schemaValidatedDoc = document;
-
- WSDLElementReferenceValidator wsdlRefValidator = new WSDLElementReferenceValidator(def, this,
- xmlEventReader);
+ WSDLElementReferenceValidator wsdlRefValidator = new
+ WSDLElementReferenceValidator(def, this,
+ wsdlsource.getSystemId(), document);
isValid = wsdlRefValidator.isValid();
@@ -241,7 +195,7 @@
isValid = true;
} catch (IOException ioe) {
- throw new ToolException("Can not get the wsdl " + wsdlsource.getSystemId(), ioe);
+ throw new ToolException("Cannot get the wsdl " + wsdlsource.getSystemId(), ioe);
} catch (SAXException saxEx) {
throw new ToolException(saxEx);
} catch (ParserConfigurationException e) {
@@ -250,54 +204,6 @@
return isValid;
}
- private void doSchemaValidation(Document doc, NewStackTraceErrorHandler handler) throws IOException,
- SAXException {
-
- XmlSchemaCollection schemaCol = new XmlSchemaCollection();
- schemaCol.setBaseUri(def.getDocumentBaseURI());
- NodeList nodes = doc.getElementsByTagNameNS(WSDLConstants.NS_XMLNS, "schema");
- for (int x = 0; x < nodes.getLength(); x++) {
- Node schemaNode = nodes.item(x);
- Element schemaEl = (Element) schemaNode;
- String tns = schemaEl.getAttribute("targetNamespace");
- try {
- schemaCol.read(schemaEl, tns);
- } catch (java.lang.RuntimeException ex) {
- //
- // Couldn't find schema... check if it's relative to wsdl.
- // XXX - Probably the setBaseUri() above should take care of
- // this but it doesn't seem to work with ws commons 1.0.2.
- //
- schemaCol.read(schemaEl, def.getDocumentBaseURI());
- }
- xmlSchemaMap.put(tns, schemaCol);
- }
- // Now do same for imported wsdl files.
- nodes = doc.getElementsByTagNameNS(WSDLConstants.NS_WSDL, "import");
- Map<String, Document> docMap = new HashMap<String, Document>();
- for (int x = 0; x < nodes.getLength(); x++) {
- org.w3c.dom.NamedNodeMap attributes = nodes.item(x).getAttributes();
- String systemId;
- String namespace = attributes.getNamedItem("namespace").getNodeValue();
- try {
- systemId = getWsdlUrl(attributes.getNamedItem("location").getNodeValue());
- } catch (IOException ioe) {
- throw new ToolException(ioe);
- }
- if (namespace != null && systemId != null) {
- Document docImport = docBuilder.parse(systemId);
- Node node = DOMUtils.getChild(docImport, null);
- if (node != null && !"definitions".equals(node.getLocalName())) {
- Message msg = new Message("NOT_A_WSDLFILE", LOG, systemId);
- throw new ToolException(msg);
- }
- doSchemaValidation(docImport, handler);
- docMap.put(namespace, docImport);
- }
- }
- this.wsdlImportDocs = docMap;
- }
-
private String[] addSchemas(String[] defaults, String[] schemas) {
if (schemas == null || schemas.length == 0) {
return defaultSchemas;
@@ -352,37 +258,8 @@
if (file != null && file.exists()) {
return file.toURL().toString();
}
- // Import may have a relative path
- File wsdlSrcFile = new File(wsdlsrc);
- file = new File(wsdlSrcFile.getParent(), path);
- if (file != null && file.exists()) {
- return file.toURL().toString();
- }
- return null;
- }
-
- public Document getSchemaValidatedDoc() {
- return schemaValidatedDoc;
- }
-
- public Map<String, Document> getWsdlImportDocs() {
- return wsdlImportDocs;
- }
-
- public Map<String, XmlSchemaCollection> getXMLSchemaMap() {
- return xmlSchemaMap;
- }
-
- public Map<QName, List> getMsgPartsMap() {
- return msgPartsMap;
- }
-
- public Map<QName, Map> getPortTypesMap() {
- return portTypes;
- }
- public Map<QName, QName> getBindingMap() {
- return bindingMap;
+ return null;
}
}
@@ -468,26 +345,21 @@
systemId = schemaLocation + systemId;
}
- LSInput lsin = new LSInputImpl();
- URI uri = null;
+ URIResolver resolver = null;
try {
- uri = new URI(systemId);
- } catch (URISyntaxException e1) {
+ resolver = new URIResolver(systemId);
+ } catch (IOException e1) {
return null;
}
- File file = new File(uri);
- FileInputStream inputStream = null;
-
- try {
- inputStream = new FileInputStream(file);
- } catch (FileNotFoundException e) {
+ if (resolver.getInputStream() != null) {
+ LSInput lsin = new LSInputImpl();
+ lsin.setSystemId(systemId);
+ lsin.setByteStream(resolver.getInputStream());
+ return lsin;
+ } else {
return null;
}
-
- lsin.setSystemId(systemId);
- lsin.setByteStream(inputStream);
- return lsin;
}
}
Modified: incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/UniqueBodyPartsValidator.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/UniqueBodyPartsValidator.java?view=diff&rev=462922&r1=462921&r2=462922
==============================================================================
--- incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/UniqueBodyPartsValidator.java (original)
+++ incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/UniqueBodyPartsValidator.java Wed Oct 11 12:59:10 2006
@@ -31,7 +31,7 @@
import javax.xml.namespace.QName;
public class UniqueBodyPartsValidator extends AbstractValidator {
- private Map<QName, String> uniqueBodyPartsMap = new HashMap<QName, String>();
+ private Map<QName, String> uniqueBodyPartsMap;
public UniqueBodyPartsValidator(Definition def) {
super(def);
@@ -41,6 +41,11 @@
public boolean isValid() {
Iterator ite = def.getPortTypes().values().iterator();
while (ite.hasNext()) {
+ //
+ // Only check for unique body parts per portType.
+ // (Create a new Map for each portType.)
+ //
+ uniqueBodyPartsMap = new HashMap<QName, String>();
PortType portType = (PortType)ite.next();
Iterator ite2 = portType.getOperations().iterator();
while (ite2.hasNext()) {
Added: incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/ValidatorUtil.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/ValidatorUtil.java?view=auto&rev=462922
==============================================================================
--- incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/ValidatorUtil.java (added)
+++ incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/ValidatorUtil.java Wed Oct 11 12:59:10 2006
@@ -0,0 +1,182 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.tools.validator.internal;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.logging.Logger;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+import org.xml.sax.SAXException;
+
+import org.apache.cxf.common.i18n.Message;
+import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.helpers.DOMUtils;
+import org.apache.cxf.tools.common.ToolException;
+import org.apache.cxf.tools.common.WSDLConstants;
+
+import org.apache.ws.commons.schema.XmlSchemaCollection;
+
+public final class ValidatorUtil {
+ private static final Logger LOG = LogUtils.getL7dLogger(ValidatorUtil.class);
+
+ private ValidatorUtil() {
+ }
+
+ /**
+ * Get a list of schemas found in a wsdl Document.
+ * The list will include any schemas from imported wsdls.
+ *
+ * @param document The wsdl Document.
+ * @param baseURI The URI of the wsdl. Allows schemas with relative
+ * paths to be resolved.
+ * @return XmlSchemaCollection list
+ * @throws IOException
+ * @throws SAXException
+ */
+ public static List<XmlSchemaCollection> getSchemaList(Document document,
+ String baseURI) throws IOException, SAXException {
+ List<XmlSchemaCollection> schemaList = new ArrayList<XmlSchemaCollection>();
+ if (document == null) {
+ return schemaList;
+ }
+ XmlSchemaCollection schemaCol = new XmlSchemaCollection();
+ NodeList nodes = document.getElementsByTagNameNS(
+ WSDLConstants.NS_XMLNS, "schema");
+ for (int x = 0; x < nodes.getLength(); x++) {
+ Node schemaNode = nodes.item(x);
+ Element schemaEl = (Element) schemaNode;
+ String tns = schemaEl.getAttribute("targetNamespace");
+ try {
+ schemaCol.read(schemaEl, tns);
+ } catch (java.lang.RuntimeException ex) {
+ //
+ // Couldn't find schema... check if it's relative to wsdl.
+ // XXX - Using setBaseUri() on the XmlSchemaCollection,
+ // only seems to work for the first imported xsd... so pass
+ // in the baseURI here.
+ //
+ schemaCol.read(schemaEl, baseURI);
+ }
+ }
+ schemaList.add(schemaCol);
+
+ // Now add schemas from imported wsdl files.
+ Map<String, Document> wsdlImports = getImportedWsdlMap(
+ document, baseURI);
+ for (Document wsdlImport : wsdlImports.values()) {
+ schemaList.addAll(getSchemaList(wsdlImport, baseURI));
+ }
+
+ return schemaList;
+ }
+
+ /**
+ * Get a map of wsdls imported by the given wsdl. Keys in the
+ * map are the imported namespaces. Values are the imported
+ * wsdl Documents.
+ *
+ * @param document The wsdl Document
+ * @param basePath The path of the wsdl
+ * @return map of imported wsdls
+ * @throws IOException
+ * @throws SAXException
+ */
+ public static Map<String, Document> getImportedWsdlMap(Document document,
+ String basePath) throws IOException, SAXException {
+ Map<String, Document> docMap = new HashMap<String, Document>();
+ if (document == null) {
+ return docMap;
+ }
+
+ DocumentBuilder docBuilder = null;
+ try {
+ DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
+ docFactory.setNamespaceAware(true);
+ docBuilder = docFactory.newDocumentBuilder();
+ } catch (ParserConfigurationException e) {
+ throw new ToolException(e);
+ }
+
+ NodeList nodes = document.getElementsByTagNameNS(WSDLConstants.NS_WSDL, "import");
+ // Remove the scheme part of a URI.
+ String myBasePath = basePath;
+ try {
+ myBasePath = new URI(basePath).getPath();
+ } catch (java.net.URISyntaxException e1) {
+ // Is this ok?
+ }
+ for (int x = 0; x < nodes.getLength(); x++) {
+ NamedNodeMap attributes = nodes.item(x).getAttributes();
+ String systemId;
+ String namespace = attributes.getNamedItem("namespace").getNodeValue();
+ // Is this ok?
+ if (docMap.containsKey(namespace)) {
+ continue;
+ }
+ try {
+ systemId = getImportedUrl(
+ attributes.getNamedItem("location").getNodeValue(), myBasePath);
+ } catch (IOException ioe) {
+ throw new ToolException(ioe);
+ }
+ if (namespace != null && systemId != null) {
+ Document docImport = docBuilder.parse(systemId);
+ Node node = DOMUtils.getChild(docImport, null);
+ if (node != null && !"definitions".equals(node.getLocalName())) {
+ Message msg = new Message("NOT_A_WSDLFILE", LOG, systemId);
+ throw new ToolException(msg);
+ }
+ docMap.putAll(getImportedWsdlMap(docImport, myBasePath));
+ docMap.put(namespace, docImport);
+ }
+ }
+
+ return docMap;
+ }
+
+ private static String getImportedUrl(String theImportPath, String baseURI) throws IOException {
+ File file = new File(theImportPath);
+ if (file != null && file.exists()) {
+ return file.toURL().toString();
+ }
+ // Import may have a relative path
+ File baseFile = new File(baseURI);
+ file = new File(baseFile.getParent(), theImportPath);
+ if (file != null && file.exists()) {
+ return file.toURL().toString();
+ }
+ return null;
+ }
+}
Propchange: incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/ValidatorUtil.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/ValidatorUtil.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSDL11Validator.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSDL11Validator.java?view=diff&rev=462922&r1=462921&r2=462922
==============================================================================
--- incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSDL11Validator.java (original)
+++ incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSDL11Validator.java Wed Oct 11 12:59:10 2006
@@ -62,7 +62,7 @@
this.def = schemaValidator.def;
}
} else {
- throw new ToolException("Schema dir should be defined before validate wsdl");
+ throw new ToolException("Schema dir should be defined before validating wsdl");
}
validators.add(new UniqueBodyPartsValidator(this.def));
Modified: incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSDLElementReferenceValidator.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSDLElementReferenceValidator.java?view=diff&rev=462922&r1=462921&r2=462922
==============================================================================
--- incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSDLElementReferenceValidator.java (original)
+++ incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSDLElementReferenceValidator.java Wed Oct 11 12:59:10 2006
@@ -19,6 +19,12 @@
package org.apache.cxf.tools.validator.internal;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
@@ -40,12 +46,16 @@
import javax.xml.namespace.QName;
import javax.xml.stream.Location;
import javax.xml.stream.XMLEventReader;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+import org.apache.cxf.tools.common.ToolException;
import org.apache.cxf.tools.common.WSDLConstants;
import org.apache.ws.commons.schema.XmlSchemaCollection;
@@ -53,29 +63,51 @@
import org.apache.ws.commons.schema.XmlSchemaType;
public class WSDLElementReferenceValidator {
- private Map<String, XmlSchemaCollection> schemas;
private Definition def;
- private Map<QName, List> msgPartsMap;
private SchemaValidator schemaWSDLValidator;
- private Map<QName, QName> bindingMap;
- private Map<QName, Map> portTypes;
+
+ private List<XmlSchemaCollection> schemas;
+ private Map<QName, QName> bindingMap = new HashMap<QName, QName>();
+ private Map<QName, List> msgPartsMap = new HashMap<QName, List>();
+ private Map<QName, Map> portTypes = new HashMap<QName, Map>();
+
private Document document;
private Document locationDocument;
private boolean isValid = true;
- private XmlSchemaCollection schemaCollection;
+ // XXX - schemaCollection never seems to be populated?
+ private XmlSchemaCollection schemaCollection = new XmlSchemaCollection();
- public WSDLElementReferenceValidator(Definition definition, SchemaValidator wsdlValidator,
- XMLEventReader reader) {
+ public WSDLElementReferenceValidator(Definition definition,
+ SchemaValidator validator,
+ String wsdlId,
+ Document wsdlDocument) {
def = definition;
- schemaWSDLValidator = wsdlValidator;
- schemas = wsdlValidator.getXMLSchemaMap();
- msgPartsMap = wsdlValidator.getMsgPartsMap();
- portTypes = wsdlValidator.getPortTypesMap();
- bindingMap = wsdlValidator.getBindingMap();
- document = wsdlValidator.getSchemaValidatedDoc();
+ schemaWSDLValidator = validator;
+ document = wsdlDocument;
+ try {
+ schemas = ValidatorUtil.getSchemaList(document, def.getDocumentBaseURI());
+ } catch (IOException ex) {
+ throw new ToolException("Cannot get schema list " + def.getDocumentBaseURI(), ex);
+ } catch (SAXException ex) {
+ throw new ToolException(ex);
+ }
+
+ XMLEventReader reader = null;
+ try {
+ XMLInputFactory factory = XMLInputFactory.newInstance();
+ factory.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, true);
+ File file = new File(new URI(wsdlId));
+ reader = factory.createXMLEventReader(new FileReader(file));
+ } catch (XMLStreamException streamEx) {
+ throw new ToolException(streamEx);
+ } catch (URISyntaxException e) {
+ throw new ToolException(e);
+ } catch (FileNotFoundException e) {
+ throw new ToolException("Cannot get the wsdl " + wsdlId, e);
+ }
+
Stax2DOM stax2dom = new Stax2DOM();
locationDocument = stax2dom.getDocument(reader);
- schemaCollection = new XmlSchemaCollection();
}
public boolean isValid() {
@@ -83,6 +115,7 @@
this.validatePortType();
this.validateBinding();
this.validateService();
+
return isValid;
}
@@ -92,7 +125,15 @@
Map messageMap = def.getMessages();
- Map<String, Document> wsdlImports = schemaWSDLValidator.getWsdlImportDocs();
+ Map<String, Document> wsdlImports = null;
+ try {
+ wsdlImports = ValidatorUtil.getImportedWsdlMap(document,
+ def.getDocumentBaseURI());
+ } catch (IOException ex) {
+ throw new ToolException("Cannot get wsdl imports " + def.getDocumentBaseURI(), ex);
+ } catch (SAXException ex) {
+ throw new ToolException(ex);
+ }
for (Iterator iter = wsdlImports.keySet().iterator(); iter.hasNext();) {
String tnsImport = (String)iter.next();
Document wsdlImportDoc = (Document)wsdlImports.get(tnsImport);
@@ -135,11 +176,10 @@
Location loc = this.getErrNodeLocation(WSDLConstants.QNAME_MESSAGE, msg.getQName()
.getLocalPart(), part.getName());
- schemaWSDLValidator
- .addError(loc, "The part does not have a type defined. Every part must "
- + "specify a type from some type system. The type can "
- + "be specified using the built in 'element' or 'type' attributes "
- + "or may be specified using an extension attribute.");
+ addError(loc, "The part does not have a type defined. Every part must "
+ + "specify a type from some type system. The type can "
+ + "be specified using the built in 'element' or 'type' attributes "
+ + "or may be specified using an extension attribute.");
isValid = false;
@@ -148,9 +188,8 @@
if (elementName != null && typeName != null) {
Location loc = this.getErrNodeLocation(WSDLConstants.QNAME_MESSAGE, msg.getQName()
.getLocalPart(), part.getName());
- schemaWSDLValidator.addError(loc,
- "The part has both an element and a type defined. Every "
- + "part must only have an element or a type defined.");
+ addError(loc, "The part has both an element and a type defined. Every "
+ + "part must only have an element or a type defined.");
isValid = false;
}
@@ -161,7 +200,7 @@
if (!valid) {
Location loc = this.getErrNodeLocation(WSDLConstants.QNAME_MESSAGE, msg.getQName()
.getLocalPart(), part.getName());
- schemaWSDLValidator.addError(loc, elementName + " cannot find reference");
+ addError(loc, elementName + " cannot find reference");
isValid = false;
}
@@ -175,7 +214,7 @@
if (!valid) {
Location loc = this.getErrNodeLocation(WSDLConstants.QNAME_MESSAGE, msg.getQName()
.getLocalPart(), part.getName());
- schemaWSDLValidator.addError(loc, "reference cannot be found");
+ addError(loc, "reference cannot be found");
isValid = false;
}
@@ -205,19 +244,21 @@
}
} else {
- Iterator ite = schemas.values().iterator();
- while (ite.hasNext()) {
- XmlSchemaCollection schema = (XmlSchemaCollection)ite.next();
- if (schema != null && isElement
- && schema.getElementByQName(new QName(namespace, name)) != null) {
- partvalid = true;
- break;
-
+ if (isElement) {
+ for (XmlSchemaCollection schema : schemas) {
+ if (schema != null && schema.getElementByQName(
+ new QName(namespace, name)) != null) {
+ partvalid = true;
+ break;
+ }
}
- if (schema != null && !isElement
- && schema.getTypeByQName(new QName(namespace, name)) != null) {
- partvalid = true;
- break;
+ } else {
+ for (XmlSchemaCollection schema : schemas) {
+ if (schema != null && schema.getTypeByQName(
+ new QName(namespace, name)) != null) {
+ partvalid = true;
+ break;
+ }
}
}
}
@@ -242,7 +283,7 @@
if (!portTypes.containsKey(typeName)) {
Location loc = getErrNodeLocation(WSDLConstants.QNAME_DEFINITIONS, null, bindingName
.getLocalPart());
- schemaWSDLValidator.addError(loc, typeName + " is not defined");
+ addError(loc, typeName + " is not defined");
isValid = false;
} else {
@@ -262,8 +303,8 @@
Location loc = this.getErrNodeLocation(WSDLConstants.QNAME_BINDING, bindingName
.getLocalPart(), bop.getName());
- schemaWSDLValidator.addError(loc, "BindingOperation " + bop.getName()
- + " is not defined");
+ addError(loc, "BindingOperation " + bop.getName()
+ + " is not defined");
isValid = false;
@@ -273,16 +314,16 @@
if (op.getInput() == null && bop.getBindingInput() != null) {
Location loc = this.getErrNodeLocation(WSDLConstants.QNAME_BINDING, bindingName
.getLocalPart(), bop.getName());
- schemaWSDLValidator.addError(loc, "BindingOperation " + bop.getName()
- + " binding input is not defined");
+ addError(loc, "BindingOperation " + bop.getName()
+ + " binding input is not defined");
isValid = false;
}
if (op.getInput() != null && bop.getBindingInput() == null) {
Location loc = this.getErrNodeLocation(WSDLConstants.QNAME_BINDING, bindingName
.getLocalPart(), bop.getName());
- schemaWSDLValidator.addError(loc, "BindingOperation " + bop.getName()
- + " binding input is not resolved");
+ addError(loc, "BindingOperation " + bop.getName()
+ + " binding input is not resolved");
isValid = false;
}
@@ -290,16 +331,16 @@
if (op.getOutput() == null && bop.getBindingOutput() != null) {
Location loc = this.getErrNodeLocation(WSDLConstants.QNAME_BINDING, bindingName
.getLocalPart(), bop.getName());
- schemaWSDLValidator.addError(loc, "BindingOperation " + bop.getName()
- + " binding output is not defined");
+ addError(loc, "BindingOperation " + bop.getName()
+ + " binding output is not defined");
isValid = false;
}
if (op.getOutput() != null && bop.getBindingOutput() == null) {
Location loc = this.getErrNodeLocation(WSDLConstants.QNAME_BINDING, bindingName
.getLocalPart(), bop.getName());
- schemaWSDLValidator.addError(loc, "BindingOperation " + bop.getName()
- + " binding output is not resolved");
+ addError(loc, "BindingOperation " + bop.getName()
+ + " binding output is not resolved");
isValid = false;
}
@@ -307,8 +348,8 @@
if (op.getFaults().size() != bop.getBindingFaults().size()) {
Location loc = this.getErrNodeLocation(WSDLConstants.QNAME_BINDING, bindingName
.getLocalPart(), bop.getName());
- schemaWSDLValidator.addError(loc, "BindingOperation " + bop.getName()
- + " binding fault resolved error");
+ addError(loc, "BindingOperation " + bop.getName()
+ + " binding fault resolved error");
isValid = false;
}
@@ -336,8 +377,8 @@
if (!bindingMap.containsKey(binding.getQName())) {
Location loc = this.getErrNodeLocation(WSDLConstants.QNAME_SERVICE, service.getQName()
.getLocalPart(), port.getName());
- schemaWSDLValidator.addError(loc, " port : " + port.getName()
- + " reference binding is not defined");
+ addError(loc, " port : " + port.getName()
+ + " reference binding is not defined");
isValid = false;
}
}
@@ -380,8 +421,8 @@
&& !msgPartsMap.containsKey(input.getMessage().getQName())) {
Location loc = this.getErrNodeLocation(WSDLConstants.QNAME_OPERATION,
operation.getName(), input.getName());
- schemaWSDLValidator.addError(loc, " input : " + input.getName()
- + " reference is not defined");
+ addError(loc, " input : " + input.getName()
+ + " reference is not defined");
isValid = false;
}
@@ -390,8 +431,8 @@
&& !msgPartsMap.containsKey(output.getMessage().getQName())) {
Location loc = this.getErrNodeLocation(WSDLConstants.QNAME_OPERATION,
operation.getName(), output.getName());
- schemaWSDLValidator.addError(loc, " output : " + output.getName()
- + " reference is not defined");
+ addError(loc, " output : " + output.getName()
+ + " reference is not defined");
isValid = false;
}
@@ -421,7 +462,6 @@
private void addError(Location loc, String msg) {
schemaWSDLValidator.addError(loc, msg);
-
}
public Location getErrNodeLocation(QName wsdlParentNode, String parentNameValue,
Modified: incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/hello_world_import.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/hello_world_import.wsdl?view=diff&rev=462922&r1=462921&r2=462922
==============================================================================
--- incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/hello_world_import.wsdl (original)
+++ incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/hello_world_import.wsdl Wed Oct 11 12:59:10 2006
@@ -27,6 +27,23 @@
<wsdl:import namespace="http://apache.org/hello_world_soap_http/types"
location="hello_world_types.wsdl" />
+ <wsdl:types>
+ <schema targetNamespace="http://apache.org/hello_world_soap_http/types"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified">
+ <element name="anotherGreetMe">
+ <complexType>
+ <sequence>
+ <element name="requestType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="anotherGreetMeRequest">
+ <wsdl:part name="in" element="x1:anotherGreetMe"/>
+ </wsdl:message>
<wsdl:message name="greetMeRequest">
<wsdl:part name="in" element="x1:greetMe"/>
</wsdl:message>
Modified: incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/hello_world_schema_import.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/hello_world_schema_import.wsdl?view=diff&rev=462922&r1=462921&r2=462922
==============================================================================
--- incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/hello_world_schema_import.wsdl (original)
+++ incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/hello_world_schema_import.wsdl Wed Oct 11 12:59:10 2006
@@ -21,12 +21,14 @@
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://apache.org/hello_world_soap_http"
- xmlns:x1="http://apache.org/hello_world_soap_http/types"
+ xmlns:x1="http://apache.org/hello_world_soap_http/types1"
+ xmlns:x2="http://apache.org/hello_world_soap_http/types2"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<xsd:schema>
- <xsd:import namespace="http://apache.org/hello_world_soap_http/types" schemaLocation="schema1.xsd"/>
+ <xsd:import namespace="http://apache.org/hello_world_soap_http/types1" schemaLocation="schema1.xsd"/>
+ <xsd:import namespace="http://apache.org/hello_world_soap_http/types2" schemaLocation="schema2.xsd"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="sayHiRequest">
@@ -45,13 +47,13 @@
<wsdl:part element="x1:greetMeOneWay" name="in"/>
</wsdl:message>
<wsdl:message name="pingMeRequest">
- <wsdl:part name="in" element="x1:pingMe"/>
+ <wsdl:part name="in" element="x2:pingMe"/>
</wsdl:message>
<wsdl:message name="pingMeResponse">
- <wsdl:part name="out" element="x1:pingMeResponse"/>
+ <wsdl:part name="out" element="x2:pingMeResponse"/>
</wsdl:message>
<wsdl:message name="pingMeFault">
- <wsdl:part name="faultDetail" element="x1:faultDetail"/>
+ <wsdl:part name="faultDetail" element="x2:faultDetail"/>
</wsdl:message>
<wsdl:portType name="Greeter">
Modified: incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/schema1.xsd
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/schema1.xsd?view=diff&rev=462922&r1=462921&r2=462922
==============================================================================
--- incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/schema1.xsd (original)
+++ incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/schema1.xsd Wed Oct 11 12:59:10 2006
@@ -17,7 +17,7 @@
specific language governing permissions and limitations
under the License.
-->
-<xs:schema version="1.0" targetNamespace="http://apache.org/hello_world_soap_http/types" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+<xs:schema version="1.0" targetNamespace="http://apache.org/hello_world_soap_http/types1" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="sayHi">
<xs:complexType/>
@@ -55,21 +55,5 @@
</xs:complexType>
</xs:element>
- <xs:element name="pingMe">
- <xs:complexType/>
- </xs:element>
-
- <xs:element name="faultDetail">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="minor" type="xs:short" form="qualified" minOccurs="0"/>
- <xs:element name="major" type="xs:short" form="qualified" minOccurs="0"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="pingMeResponse">
- <xs:complexType/>
- </xs:element>
</xs:schema>
Added: incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/schema2.xsd
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/schema2.xsd?view=auto&rev=462922
==============================================================================
--- incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/schema2.xsd (added)
+++ incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/schema2.xsd Wed Oct 11 12:59:10 2006
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<xs:schema version="1.0" targetNamespace="http://apache.org/hello_world_soap_http/types2" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:element name="pingMe">
+ <xs:complexType/>
+ </xs:element>
+
+ <xs:element name="faultDetail">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="minor" type="xs:short" form="qualified" minOccurs="0"/>
+ <xs:element name="major" type="xs:short" form="qualified" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="pingMeResponse">
+ <xs:complexType/>
+ </xs:element>
+</xs:schema>
+
Propchange: incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/schema2.xsd
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/schema2.xsd
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/cxf/trunk/tools/validator/src/test/resources/validator_wsdl/schema2.xsd
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToProcessor.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToProcessor.java?view=diff&rev=462922&r1=462921&r2=462922
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToProcessor.java (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToProcessor.java Wed Oct 11 12:59:10 2006
@@ -145,7 +145,7 @@
wsdlReader = wsdlFactory.newWSDLReader();
wsdlReader.setFeature("javax.wsdl.verbose", false);
WSDLExtensionRegister register = new WSDLExtensionRegister(wsdlFactory, wsdlReader);
- register.registerExtenstions();
+ register.registerExtensions();
wsdlDefinition = wsdlReader.readWSDL(wsdlURL);
parseImports(wsdlDefinition);
buildImportedMaps();
Modified: incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessorTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessorTest.java?view=diff&rev=462922&r1=462921&r2=462922
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessorTest.java (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessorTest.java Wed Oct 11 12:59:10 2006
@@ -1061,7 +1061,7 @@
processor.setEnvironment(env);
processor.process();
} catch (Exception e) {
- assertTrue("Invalid wsdl should be diagnoised", e.getMessage()
+ assertTrue("Invalid wsdl should be diagnosed", e.getMessage()
.indexOf("Invalid WSDL,wsdl:operation") > -1);
}