Author: ajith
Date: Thu Aug 25 00:18:41 2005
New Revision: 240010
URL: http://svn.apache.org/viewcvs?rev=240010&view=rev
Log:
updated to validator to check the target namespace only when it's not
containing a single import statement
Modified:
webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/WSDLValidatorExtension.java
Modified:
webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/WSDLValidatorExtension.java
URL:
http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/WSDLValidatorExtension.java?rev=240010&r1=240009&r2=240010&view=diff
==============================================================================
---
webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/WSDLValidatorExtension.java
(original)
+++
webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/WSDLValidatorExtension.java
Thu Aug 25 00:18:41 2005
@@ -23,6 +23,8 @@
import org.apache.wsdl.extensions.ExtensionConstants;
import org.apache.wsdl.extensions.Schema;
import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
import java.util.Iterator;
@@ -49,7 +51,19 @@
boolean targetnamespaceFound = false;
if (ExtensionConstants.SCHEMA.equals(element.getType())) {
Schema schema = (Schema) element;
- NamedNodeMap attributes = schema.getElement().getAttributes();
+ Element schemaElement = schema.getElement();
+ //first check whether the schema include only a single import
statement.
+ //As per the nature of WSDL if the schema has a single import
ONLY, then the
+ //schema element need not contain a target namespace.
+ NodeList importNodeList =
schemaElement.getElementsByTagNameNS(schemaElement.getNamespaceURI(),"import");
+ NodeList allNodes = schemaElement.getElementsByTagName("*");
+ //checking the number of child elements and the number of
import elements should get us what we need
+ if (importNodeList.getLength()==1 && allNodes.getLength()==1){
+ return;
+ }
+
+
+ NamedNodeMap attributes = schemaElement.getAttributes();
for (int i = 0; i < attributes.getLength(); i++) {
if (TARGETNAMESPACE_STRING.equalsIgnoreCase(
attributes.item(i).getLocalName())){