diff --git a/core/bundles/org.eclipse.wst.wsdl.validation/META-INF/MANIFEST.MF b/core/bundles/org.eclipse.wst.wsdl.validation/META-INF/MANIFEST.MF
index 9188d5c..6ef3d6e 100644
--- a/core/bundles/org.eclipse.wst.wsdl.validation/META-INF/MANIFEST.MF
+++ b/core/bundles/org.eclipse.wst.wsdl.validation/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %_PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.wsdl.validation; singleton:=true
-Bundle-Version: 1.2.100.qualifier
+Bundle-Version: 1.2.200.qualifier
 Bundle-Activator: org.eclipse.wst.wsdl.validation.internal.eclipse.ValidateWSDLPlugin
 Bundle-Vendor: %_PROVIDER_NAME
 Bundle-Localization: plugin
diff --git a/core/bundles/org.eclipse.wst.wsdl.validation/pom.xml b/core/bundles/org.eclipse.wst.wsdl.validation/pom.xml
index 41f9950..0cd379c 100644
--- a/core/bundles/org.eclipse.wst.wsdl.validation/pom.xml
+++ b/core/bundles/org.eclipse.wst.wsdl.validation/pom.xml
@@ -22,6 +22,6 @@
 
   <groupId>org.eclipse.webtools.webservices</groupId>
   <artifactId>org.eclipse.wst.wsdl.validation</artifactId>
-  <version>1.2.100-SNAPSHOT</version>
+  <version>1.2.200-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/core/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDLReaderImpl.java b/core/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDLReaderImpl.java
index 5ec821b..460057d 100644
--- a/core/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDLReaderImpl.java
+++ b/core/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDLReaderImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2009 IBM Corporation and others.
+ * Copyright (c) 2001, 2021 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
@@ -276,7 +276,7 @@
         {
           return new XMLErrorReporter()
           {
-            public void reportError(String domain, String key, Object[] arguments, short severity) throws XNIException
+            public String reportError(String domain, String key, Object[] arguments, short severity) throws XNIException
             {
               boolean reportError = true;
               if (key.equals("PrematureEOF"))
@@ -286,8 +286,9 @@
 
               if (reportError)
                {
-                super.reportError(domain, key, arguments, severity);
+                return super.reportError(domain, key, arguments, severity);
               }
+              return key;
             }
           };
         }
diff --git a/core/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/DefaultXMLValidator.java b/core/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/DefaultXMLValidator.java
index daea0f4..a99bec1 100644
--- a/core/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/DefaultXMLValidator.java
+++ b/core/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/DefaultXMLValidator.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2009 IBM Corporation and others.
+ * Copyright (c) 2001, 2021 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
@@ -309,12 +309,12 @@
         /* (non-Javadoc)
          * @see org.apache.xerces.impl.XMLErrorReporter#reportError(java.lang.String, java.lang.String, java.lang.Object[], short)
          */
-        public void reportError(String domain, String key, Object[] arguments,
+        public String reportError(String domain, String key, Object[] arguments,
             short severity) throws XNIException
         {
           currentErrorKey = key;
           currentMessageArguments = arguments;
-          super.reportError(domain, key, arguments, severity);
+          return super.reportError(domain, key, arguments, severity);
         }
       };
     }
diff --git a/core/features/org.eclipse.wst.ws_core.feature/feature.xml b/core/features/org.eclipse.wst.ws_core.feature/feature.xml
index 5145c3e..73a4d17 100644
--- a/core/features/org.eclipse.wst.ws_core.feature/feature.xml
+++ b/core/features/org.eclipse.wst.ws_core.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.ws_core.feature"
       label="%featureName"
-      version="3.8.0.qualifier"
+      version="3.21.0.qualifier"
       provider-name="%providerName"
       license-feature="org.eclipse.license"
       license-feature-version="0.0.0">
diff --git a/core/features/org.eclipse.wst.ws_core.feature/pom.xml b/core/features/org.eclipse.wst.ws_core.feature/pom.xml
index 32720f4..b95df4a 100644
--- a/core/features/org.eclipse.wst.ws_core.feature/pom.xml
+++ b/core/features/org.eclipse.wst.ws_core.feature/pom.xml
@@ -22,7 +22,7 @@
 
   <groupId>org.eclipse.webtools.webservices</groupId>
   <artifactId>org.eclipse.wst.ws_core.feature</artifactId>
-  <version>3.8.0-SNAPSHOT</version>
+  <version>3.21.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
   <build>
