Subscription plugin does not load in Openfire 4.6.0

I get the follwing error when loading the subscription plugin version 1.4.0 (latest) in Openfire 4.6.0:

org.dom4j.DocumentException: Error on line 3 of document file:///C:/Program%20Files/Openfire/plugins/subscription/web/WEB-INF/web.xml : DOCTYPE is disallowed when the feature "http://apache.org/xml/features/disallow-doctype-decl" set to true.
at org.dom4j.io.SAXReader.read(SAXReader.java:511) ~[dom4j-2.1.3.jar:?]
at org.dom4j.io.SAXReader.read(SAXReader.java:325) ~[dom4j-2.1.3.jar:?]
at org.jivesoftware.util.WebXmlUtils.asDocument(WebXmlUtils.java:32) ~[xmppserver-4.6.0.jar:4.6.0]
at org.jivesoftware.openfire.container.PluginServlet.registerServlets(PluginServlet.java:191) [xmppserver-4.6.0.jar:4.6.0]
at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java:667) [xmppserver-4.6.0.jar:4.6.0]
at org.jivesoftware.openfire.container.PluginMonitor$MonitorTask$4.call(PluginMonitor.java:375) [xmppserver-4.6.0.jar:4.6.0]
at org.jivesoftware.openfire.container.PluginMonitor$MonitorTask$4.call(PluginMonitor.java:363) [xmppserver-4.6.0.jar:4.6.0]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_241]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_241]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_241]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_241]
Caused by: org.xml.sax.SAXParseException: DOCTYPE is disallowed when the feature "http://apache.org/xml/features/disallow-doctype-decl" set to true.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) ~[?:1.8.0_241]
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source) ~[?:1.8.0_241]
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) ~[?:1.8.0_241]
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) ~[?:1.8.0_241]
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source) ~[?:1.8.0_241]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source) ~[?:1.8.0_241]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) ~[?:1.8.0_241]
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source) ~[?:1.8.0_241]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) ~[?:1.8.0_241]
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) ~[?:1.8.0_241]
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) ~[?:1.8.0_241]
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) ~[?:1.8.0_241]
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) ~[?:1.8.0_241]
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) ~[?:1.8.0_241]
at org.dom4j.io.SAXReader.read(SAXReader.java:494) ~[dom4j-2.1.3.jar:?]
... 10 more

The plugin is not correctly loaded and I cannot access the Subscription properties on the Server Settings page in the admin console.

Web.xml is missing in the source tree, so a deprecated type of web.xml is generated.

Provided pull request https://github.com/igniterealtime/openfire-subscription-plugin/pull/3 to fix this

Thanks for providing this feedback and a fix. The changes have been merged moments ago. You should see a snapshot release of the plugin pop up within a few minutes.