[295348] [validation] Definition level extensibility elements are not validated
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11BasicValidator.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11BasicValidator.java
index fb06c57..7c36a27 100644
--- a/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11BasicValidator.java
+++ b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11BasicValidator.java
@@ -108,7 +108,14 @@
validateBindings(wsdlDefinition, valInfo);
validatePortTypes(wsdlDefinition, valInfo);
validateMessages(wsdlDefinition, valInfo);
+
+ // The parents list is expected to be empty here, so simply add the definition
+ // being validated to the parents list, validate its extensibility elements,
+ // then remove it.
+
+ parents.add(wsdlDefinition);
validateExtensibilityElementList(parents, wsdlDefinition.getExtensibilityElements(), valInfo);
+ parents.remove(0);
}
/**
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/SimpleExtensionsValidator.java b/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/SimpleExtensionsValidator.java
index 7ebbeb0..15491bb 100644
--- a/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/SimpleExtensionsValidator.java
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/SimpleExtensionsValidator.java
@@ -14,6 +14,7 @@
import java.util.List;
+import javax.wsdl.extensions.ElementExtensible;
import javax.wsdl.extensions.ExtensibilityElement;
import javax.xml.namespace.QName;
@@ -36,6 +37,11 @@
QName elementType = extensibilityElement.getElementType();
String namespaceURI = elementType.getNamespaceURI();
+ if (parents.isEmpty() || !(parents.get(0) instanceof ElementExtensible))
+ {
+ valInfo.addWarning("The current parent is expected to have extensibility elements.", element); //$NON-NLS-1$
+ }
+
if (NS_URI.equals(namespaceURI))
{
valInfo.addWarning("The test extensions validator got called.", element); //$NON-NLS-1$