You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by ma...@apache.org on 2020/03/24 20:26:21 UTC

[netbeans] branch master updated: Adding full support for Wildfly 17, 18 Fixing issue with missing JavaEE 8 web profile Removing external downloads and updating schemas Updating licenseinfo.xml

This is an automated email from the ASF dual-hosted git repository.

matthiasblaesing pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git


The following commit(s) were added to refs/heads/master by this push:
     new 9047d26  Adding full support for Wildfly 17, 18 Fixing issue with missing JavaEE 8 web profile Removing external downloads and updating schemas Updating licenseinfo.xml
     new d3ed4a2  Merge pull request #2000 from ehsavoie/wildfly-master
9047d26 is described below

commit 9047d265585271038933c9dace3359293b73048e
Author: Emmanuel Hugonnet <em...@gmail.com>
AuthorDate: Tue Mar 24 09:10:27 2020 +0100

    Adding full support for Wildfly 17, 18
    Fixing issue with missing JavaEE 8 web profile
    Removing external downloads and updating schemas
    Updating licenseinfo.xml
---
 contrib/javaee.wildfly/build.xml                   |    4 -
 contrib/javaee.wildfly/external/binaries-list      |   19 -
 .../external/ironjacamar-license.txt               |  510 ------
 .../external/javaee-wildfly-jboss-license.txt      |  509 ------
 contrib/javaee.wildfly/licenseinfo.xml             |   34 +-
 contrib/javaee.wildfly/manifest.mf                 |    2 +-
 .../javaee.wildfly/nbproject/project.properties    |    3 +-
 .../javaee/wildfly/WildflyDeploymentManager.java   |    3 +-
 .../wildfly/config/CarDeploymentConfiguration.java |    9 +-
 .../javaee/wildfly/config/ds/gen/package-info.java |    2 +-
 .../javaee/wildfly/config/gen/package-info.java    |   12 +-
 .../wildfly/config/gen/wf10/package-info.java      |    4 +-
 .../config/mdb/MessageDestinationSupportImpl.java  |   90 +-
 .../mdb/wf10/MessageDestinationSupportImpl.java    |   10 +-
 .../wildfly/ide/WildflyJ2eePlatformFactory.java    |    8 +
 .../javaee/wildfly/ide/commands/WildflyClient.java |   78 +-
 .../wildfly/ide/commands/WildflyManagementAPI.java |   11 +-
 .../javaee/wildfly/ide/ui/WildflyPluginUtils.java  |   18 +
 .../modules/javaee/wildfly/nodes/Bundle.properties |    2 +
 .../wildfly/nodes/WildflyDatasourceNode.java       |    2 +-
 .../wildfly/nodes/WildflyDestinationNode.java      |   31 +-
 .../wildfly/nodes/WildflyRegistryNodeFactory.java  |    1 +
 .../wildfly/nodes/WildflyResourcesItemNode.java    |    2 +-
 .../wildfly/resources/application-client_7.xsd     |  331 ----
 .../{datasources_1_1.xsd => datasources_1_4_1.xsd} |  125 +-
 .../resources/{javaee_7.xsd => javaee_8.xsd}       |  684 ++++----
 .../wildfly/resources/javaee_web_services_1_3.xsd  |  575 -------
 .../javaee/wildfly/resources/jboss-app_4_0_1.dtd   |  160 ++
 .../jboss-as-messaging-deployment_1_0_1.xsd        |  118 ++
 .../wildfly/resources/jboss-client_4_0_1.dtd       |  142 ++
 .../wildfly/resources/jboss-common_6_0_1.xsd       |  587 +++++++
 .../javaee/wildfly/resources/jboss-common_8_1.xsd  |  574 +++++++
 .../wildfly/resources/jboss-service_4_0_1.dtd      |  301 ++++
 .../javaee/wildfly/resources/jboss-web_14_1.xsd    |  524 ++++++
 .../javaee/wildfly/resources/jboss-web_4_0_1.dtd   |  469 ++++++
 .../javaee/wildfly/resources/jboss-web_7_3_1.xsd   |  850 ++++++++++
 .../javaee/wildfly/resources/jboss_4_0_1.dtd       | 1735 ++++++++++++++++++++
 .../modules/javaee/wildfly/resources/jsp_2_2.xsd   |  392 -----
 .../resources/{web-app_3_1.xsd => web-app_4_0.xsd} |  123 +-
 .../{web-fragment_3_1.xsd => web-fragment_4_0.xsd} |   82 +-
 ...wildfly-messaging-activemq-deployment_1_0_1.xsd |  120 ++
 .../modules/javaee/wildfly/resources/wildfly.png   |  Bin 564 -> 891 bytes
 .../qa-functional/data/JBoss4WebTest/build.xml     |   15 +-
 .../data/JBoss4WebTest/nbproject/build-impl.xml    | 1360 ++++++++++++---
 .../JBoss4WebTest/nbproject/genfiles.properties    |   12 +-
 .../JBoss4WebTest/nbproject/project.properties     |   19 +-
 .../src/org/netbeans/test/javaee/lib/Util.java     |   22 +-
 47 files changed, 7500 insertions(+), 3184 deletions(-)

diff --git a/contrib/javaee.wildfly/build.xml b/contrib/javaee.wildfly/build.xml
index b792d89..4c451ed 100644
--- a/contrib/javaee.wildfly/build.xml
+++ b/contrib/javaee.wildfly/build.xml
@@ -24,9 +24,5 @@
 
     <property name="resources.dir" value="./src/org/netbeans/modules/javaee/wildfly/resources/"/>
     <target name="build-init" depends="projectized.build-init">
-        <unzip src="external/javaee-wildfly-glassfish-resources.zip" dest="${resources.dir}"/>
-        <unzip src="external/javaee-wildfly-jboss-resources.zip" dest="${resources.dir}"/>
-        <unzip src="external/javaee-wildfly-ironjacamar-resources.zip" dest="${resources.dir}"/>
-        <unzip src="external/javaee-wildfly-w3c-resources.zip" dest="${resources.dir}"/>
     </target>
 </project>
diff --git a/contrib/javaee.wildfly/external/binaries-list b/contrib/javaee.wildfly/external/binaries-list
deleted file mode 100644
index 415c03f..0000000
--- a/contrib/javaee.wildfly/external/binaries-list
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-
-4C29DE96843375053399E0869CA0FD147272ABFA javaee-wildfly-ironjacamar-resources.zip
-91F3DB873E1EE50E5514877F8539E503F7135041 javaee-wildfly-jboss-resources.zip
diff --git a/contrib/javaee.wildfly/external/ironjacamar-license.txt b/contrib/javaee.wildfly/external/ironjacamar-license.txt
deleted file mode 100644
index e7e6a6e..0000000
--- a/contrib/javaee.wildfly/external/ironjacamar-license.txt
+++ /dev/null
@@ -1,510 +0,0 @@
-Name: XML Schema from IronJacamar
-Origin: Red Hat
-Version: 1.1
-License: LGPL-2.1
-Description: IronJacamar is an implementation of the Java EE Connector Architecture 1.7 specification.
-URL: http://www.ironjacamar.org/doc/developerguide/1.1/en-US/html_single/index.html#lgpl
-Files: javaee-wildfly-ironjacamar-resources.zip
-
-GNU LESSER GENERAL PUBLIC LICENSE
-		       Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
-		  GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-			    NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
diff --git a/contrib/javaee.wildfly/external/javaee-wildfly-jboss-license.txt b/contrib/javaee.wildfly/external/javaee-wildfly-jboss-license.txt
deleted file mode 100644
index 4cc486e..0000000
--- a/contrib/javaee.wildfly/external/javaee-wildfly-jboss-license.txt
+++ /dev/null
@@ -1,509 +0,0 @@
-Name: XML Schema for WildFly
-Origin: Red Hat
-Version: 1.1
-License: LGPL-2.1
-Description: XML Schema for WildFly
-Files: javaee-wildfly-jboss-resources.zip
-
-GNU LESSER GENERAL PUBLIC LICENSE
-		       Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
-		  GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-			    NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
diff --git a/contrib/javaee.wildfly/licenseinfo.xml b/contrib/javaee.wildfly/licenseinfo.xml
index e516d6e..dd841ae 100644
--- a/contrib/javaee.wildfly/licenseinfo.xml
+++ b/contrib/javaee.wildfly/licenseinfo.xml
@@ -21,21 +21,18 @@
 -->
 <licenseinfo>
     <fileset>
-        <file>src/org/netbeans/modules/javaee/wildfly/resources/application-client_7.xsd</file>
-        <file>src/org/netbeans/modules/javaee/wildfly/resources/javaee_7.xsd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/javaee_8.xsd</file>
         <file>src/org/netbeans/modules/javaee/wildfly/resources/javaee_web_services_client_1_4.xsd</file>
         <file>src/org/netbeans/modules/javaee/wildfly/resources/jsp_2_3.xsd</file>
-        <file>src/org/netbeans/modules/javaee/wildfly/resources/web-app_3_1.xsd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/web-app_4_0.xsd</file>
         <file>src/org/netbeans/modules/javaee/wildfly/resources/web-common_3_1.xsd</file>
-        <file>src/org/netbeans/modules/javaee/wildfly/resources/web-fragment_3_1.xsd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/web-fragment_4_0.xsd</file>
         <license ref="CDDL-1.1" />
         <comment type="CATEGORY_B" />
     </fileset>
     <fileset>
         <file>src/org/netbeans/modules/javaee/wildfly/resources/javaee_6.xsd</file>
-        <file>src/org/netbeans/modules/javaee/wildfly/resources/javaee_web_services_1_3.xsd</file>
         <file>src/org/netbeans/modules/javaee/wildfly/resources/javaee_web_services_client_1_3.xsd</file>
-        <file>src/org/netbeans/modules/javaee/wildfly/resources/jsp_2_2.xsd</file>
         <file>src/org/netbeans/modules/javaee/wildfly/resources/web-app_3_0.xsd</file>
         <file>src/org/netbeans/modules/javaee/wildfly/resources/web-common_3_0.xsd</file>
         <file>src/org/netbeans/modules/javaee/wildfly/resources/web-fragment_3_0.xsd</file>
@@ -47,4 +44,29 @@
         <license ref="W3C2" />
         <comment type="CATEGORY_B" />
     </fileset>
+    <fileset>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/datasources_1_4_1.xsd</file>
+        <license ref="EPL-v10" />
+        <comment type="CATEGORY_B" />
+    </fileset>
+    <fileset>
+        <!-- see https://github.com/jbosstools/jbosstools-server/blob/master/as/plugins/org.jboss.ide.eclipse.as.ui/icons/wildfly_icon_16.png -->
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/wildfly.png</file>
+        <license ref="EPL-v20" />
+        <comment type="CATEGORY_B" />
+    </fileset>
+    <fileset>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_14_1.xsd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_7_3_1.xsd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_4_0_1.dtd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/jboss-common_8_1.xsd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/jboss-common_6_0_1.xsd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/jboss_4_0_1.dtd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/jboss-app_4_0_1.dtd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/jboss-service_4_0_1.dtd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/jboss-as-messaging-deployment_1_0_1.xsd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/wildfly-messaging-activemq-deployment_1_0_1.xsd</file>
+        <license ref="Apache-2.0" />
+        <comment type="COMMENT_UNSUPPORTED" />
+    </fileset>
 </licenseinfo>
diff --git a/contrib/javaee.wildfly/manifest.mf b/contrib/javaee.wildfly/manifest.mf
index 653d971..49e89ce 100644
--- a/contrib/javaee.wildfly/manifest.mf
+++ b/contrib/javaee.wildfly/manifest.mf
@@ -4,4 +4,4 @@ OpenIDE-Module: org.netbeans.modules.javaee.wildfly/1
 OpenIDE-Module-Layer: org/netbeans/modules/javaee/wildfly/resources/layer.xml
 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee/wildfly/resources/Bundle.properties
 OpenIDE-Module-Provides: org.netbeans.modules.serverplugins.javaee
-OpenIDE-Module-Specification-Version: 1.6
+OpenIDE-Module-Specification-Version: 2.0
diff --git a/contrib/javaee.wildfly/nbproject/project.properties b/contrib/javaee.wildfly/nbproject/project.properties
index 7b9d30f..48794b9 100644
--- a/contrib/javaee.wildfly/nbproject/project.properties
+++ b/contrib/javaee.wildfly/nbproject/project.properties
@@ -21,10 +21,11 @@ auxiliary.de-markiewb-netbeans-plugins-eclipse-formatter.eclipseFormatterLocatio
 auxiliary.de-markiewb-netbeans-plugins-eclipse-formatter.enableFormatAsSaveAction=false
 auxiliary.de-markiewb-netbeans-plugins-eclipse-formatter.showNotifications=true
 auxiliary.de-markiewb-netbeans-plugins-eclipse-formatter.useProjectSettings=false
-javac.source=1.7
+javac.source=1.8
 #javac.compilerargs=-Xlint:unchecked
 
 
+javadoc.arch=${basedir}/arch.xml
 nbm.homepage=http://wildfly.org
 nbm.module.author=Emmanuel Hugonnet (ehsavoie)
 nbm.needs.restart=true
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyDeploymentManager.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyDeploymentManager.java
index a6ac1df..b661f27 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyDeploymentManager.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyDeploymentManager.java
@@ -366,7 +366,7 @@ public class WildflyDeploymentManager implements DeploymentManager2 {
     public int getPort() {
         String port = InstanceProperties.getInstanceProperties(realUri).
                 getProperty(WildflyPluginProperties.PROPERTY_PORT);
-        return new Integer(port).intValue();
+        return Integer.parseInt(port);
     }
 
     public Version getServerVersion() {
@@ -413,6 +413,7 @@ public class WildflyDeploymentManager implements DeploymentManager2 {
     }
 
     @Override
+    @Deprecated
     public ProgressObject distribute(Target[] targets, InputStream in, InputStream in1) throws IllegalStateException {
         throw new UnsupportedOperationException("This method should never be called!"); // NOI18N
     }
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/CarDeploymentConfiguration.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/CarDeploymentConfiguration.java
index 695a567..9114b7f 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/CarDeploymentConfiguration.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/CarDeploymentConfiguration.java
@@ -35,7 +35,6 @@ import org.netbeans.modules.j2ee.deployment.plugins.spi.config.ModuleConfigurati
 import org.netbeans.modules.javaee.wildfly.config.gen.EjbRef;
 import org.netbeans.modules.javaee.wildfly.config.gen.JbossClient;
 import org.netbeans.modules.javaee.wildfly.config.gen.ResourceRef;
-import org.netbeans.modules.javaee.wildfly.config.gen.ServiceRef;
 import org.netbeans.modules.javaee.wildfly.config.mdb.MessageDestinationSupportImpl;
 import org.netbeans.modules.javaee.wildfly.ide.ui.WildflyPluginUtils;
 import org.openide.DialogDisplayer;
@@ -340,9 +339,9 @@ implements ModuleConfiguration, DatasourceConfiguration, DeploymentPlanConfigura
             public void modify(JbossClient modifiedJbossClient) {
 
                 // check whether resource not already defined
-                ServiceRef serviceRefs[] = modifiedJbossClient.getServiceRef();
+                String serviceRefs[] = modifiedJbossClient.getServiceRef();
                 for (int i = 0; i < serviceRefs.length; i++) {
-                    String srn = serviceRefs[i].getServiceRefName();
+                    String srn = serviceRefs[i];
                     if (name.equals(srn)) {
                         // already exists
                         return;
@@ -350,9 +349,7 @@ implements ModuleConfiguration, DatasourceConfiguration, DeploymentPlanConfigura
                 }
 
                 //if it doesn't exist yet, create a new one
-                ServiceRef newSR = new ServiceRef();
-                newSR.setServiceRefName(name);
-                modifiedJbossClient.addServiceRef(newSR);
+                modifiedJbossClient.addServiceRef(name);
             }
         });
     }
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/ds/gen/package-info.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/ds/gen/package-info.java
index f08f0d1..33ba03d 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/ds/gen/package-info.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/ds/gen/package-info.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 @Schema2Beans(
-        schema = "../../../resources/datasources_1_1.xsd",
+        schema = "../../../resources/datasources_1_4_1.xsd",
         schemaType = SchemaType.XML_SCHEMA,
         outputType = OutputType.TRADITIONAL_BASEBEAN,
         validate = true,
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/gen/package-info.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/gen/package-info.java
index 5d4fdc9..3513534 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/gen/package-info.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/gen/package-info.java
@@ -19,7 +19,7 @@
 
 @Multiple({
     @Schema2Beans(
-        schema="../../resources/jboss-client_4_0.dtd",
+        schema="../../resources/jboss-client_4_0_1.dtd",
         schemaType=SchemaType.DTD,
         outputType=OutputType.TRADITIONAL_BASEBEAN,
         validate=true,
@@ -29,7 +29,7 @@
         java5=true
     ),
     @Schema2Beans(
-        schema="../../resources/jboss-service_4_0.dtd",
+        schema="../../resources/jboss-service_4_0_1.dtd",
         schemaType=SchemaType.DTD,
         outputType=OutputType.TRADITIONAL_BASEBEAN,
         validate=true,
@@ -39,7 +39,7 @@
         java5=true
     ),
     @Schema2Beans(
-        schema="../../resources/jboss_4_0.dtd",
+        schema="../../resources/jboss_4_0_1.dtd",
         schemaType=SchemaType.DTD,
         outputType=OutputType.TRADITIONAL_BASEBEAN,
         validate=true,
@@ -49,7 +49,7 @@
         java5=true
     ),
     @Schema2Beans(
-        schema="../../resources/jboss-app_4_0.dtd",
+        schema="../../resources/jboss-app_4_0_1.dtd",
         schemaType=SchemaType.DTD,
         outputType=OutputType.TRADITIONAL_BASEBEAN,
         validate=true,
@@ -59,7 +59,7 @@
         java5=true
     ),
     @Schema2Beans(
-        schema="../../resources/jboss-web_7_2.xsd",
+        schema="../../resources/jboss-web_7_3_1.xsd",
         schemaType=SchemaType.XML_SCHEMA,
         outputType=OutputType.TRADITIONAL_BASEBEAN,
         validate=true,
@@ -69,7 +69,7 @@
         java5=true
     ),
     @Schema2Beans(
-        schema="../../resources/jboss-as-messaging-deployment_1_0.xsd",
+        schema="../../resources/jboss-as-messaging-deployment_1_0_1.xsd",
         schemaType=SchemaType.XML_SCHEMA,
         outputType=OutputType.TRADITIONAL_BASEBEAN,
         validate=true,
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/gen/wf10/package-info.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/gen/wf10/package-info.java
index bed85b3..088fd9d 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/gen/wf10/package-info.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/gen/wf10/package-info.java
@@ -19,7 +19,7 @@
 
 @Multiple({
     @Schema2Beans(
-        schema="../../../resources/jboss-web_10_0.xsd",
+        schema="../../../resources/jboss-web_14_1.xsd",
         schemaType=SchemaType.XML_SCHEMA,
         outputType=OutputType.TRADITIONAL_BASEBEAN,
         validate=true,
@@ -29,7 +29,7 @@
         java5=true
     ),
     @Schema2Beans(
-        schema="../../../resources/wildfly-messaging-activemq-deployment_1_0.xsd",
+        schema="../../../resources/wildfly-messaging-activemq-deployment_1_0_1.xsd",
         schemaType=SchemaType.XML_SCHEMA,
         outputType=OutputType.TRADITIONAL_BASEBEAN,
         validate=true,
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/mdb/MessageDestinationSupportImpl.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/mdb/MessageDestinationSupportImpl.java
index 820672f..6347a85 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/mdb/MessageDestinationSupportImpl.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/mdb/MessageDestinationSupportImpl.java
@@ -33,9 +33,10 @@ import org.netbeans.modules.j2ee.deployment.common.api.ConfigurationException;
 import org.netbeans.modules.j2ee.deployment.common.api.MessageDestination;
 import org.netbeans.modules.javaee.wildfly.WildflyDeploymentManager;
 import org.netbeans.modules.javaee.wildfly.config.ResourceConfigurationHelper;
-import org.netbeans.modules.javaee.wildfly.config.gen.Depends;
-import org.netbeans.modules.javaee.wildfly.config.gen.Mbean;
-import org.netbeans.modules.javaee.wildfly.config.gen.Server;
+import org.netbeans.modules.javaee.wildfly.config.gen.HornetqServerType;
+import org.netbeans.modules.javaee.wildfly.config.gen.JmsQueueType;
+import org.netbeans.modules.javaee.wildfly.config.gen.JmsTopicType;
+import org.netbeans.modules.javaee.wildfly.config.gen.MessagingDeployment;
 import org.openide.DialogDisplayer;
 import org.openide.NotifyDescriptor;
 import org.openide.cookies.EditorCookie;
@@ -64,7 +65,7 @@ public class MessageDestinationSupportImpl implements MessageDestinationSupport
     private File resourceDir;
 
     //model of the destination service file
-    private Server destinationServiceModel;
+    private MessagingDeployment destinationServiceModel;
 
     //destination service file (placed in the resourceDir)
     private File destinationsFile;
@@ -114,41 +115,25 @@ public class MessageDestinationSupportImpl implements MessageDestinationSupport
         return getMessageDestinations(getMessageDestinationModel(false));
     }
 
-    private static Set<MessageDestination> getMessageDestinations(Server model) throws ConfigurationException {
+    private static Set<MessageDestination> getMessageDestinations(MessagingDeployment model) throws ConfigurationException {
 
         if (model == null) {
             return Collections.<MessageDestination>emptySet();
         }
 
-        HashSet<MessageDestination> destinations = new HashSet<MessageDestination>();
+        HashSet<MessageDestination> destinations = new HashSet<>();
 
-        for (Mbean mbean : model.getMbean()) {
-            String mbeanNameAttribute = mbean.getName();
-            if (mbeanNameAttribute == null) {
+        for (HornetqServerType serverType : model.getHornetqServer()) {
+            if(serverType.getJmsDestinations() == null) {
                 continue;
             }
-
-            MessageDestination.Type type = null;
-            if (mbeanNameAttribute.indexOf("service=Queue") > -1) { // NOI18N
-                type = MessageDestination.Type.QUEUE;
-            } else if (mbeanNameAttribute.indexOf("service=Topic") > -1) { // NOI18N
-                type = MessageDestination.Type.TOPIC;
-            }
-            if (type == null) {
-                continue;
+            JmsQueueType[] queues = serverType.getJmsDestinations().getJmsQueue();
+            for(JmsQueueType queue : serverType.getJmsDestinations().getJmsQueue()) {
+                destinations.add(new WildflyMessageDestination(queue.getName(), MessageDestination.Type.QUEUE));
             }
-
-            int nameIndex = mbeanNameAttribute.indexOf("name="); // NOI18N
-            if (nameIndex == -1) {
-                continue;
+            for(JmsTopicType topic : serverType.getJmsDestinations().getJmsTopic()) {
+                destinations.add(new WildflyMessageDestination(topic.getName(), MessageDestination.Type.TOPIC));
             }
-
-            String name = mbeanNameAttribute.substring(nameIndex + 5); // "name=".length() == 5
-            if (name.indexOf(",") > -1) {
-                name = name.substring(0, name.indexOf(",")); // NOI18N
-            }
-
-            destinations.add(new WildflyMessageDestination(name, type));
         }
 
         return destinations;
@@ -161,14 +146,14 @@ public class MessageDestinationSupportImpl implements MessageDestinationSupport
      * @return Destination service graph or null if the
      * jboss#-netbeans-destinations-service.xml file is not parseable.
      */
-    private synchronized Server getMessageDestinationModel(boolean create) {
+    private synchronized MessagingDeployment getMessageDestinationModel(boolean create) {
 
         try {
             if (destinationsFile.exists()) {
                 // load configuration if already exists
                 try {
                     if (destinationServiceModel == null) {
-                        destinationServiceModel = Server.createGraph(destinationsFile);
+                        destinationServiceModel = MessagingDeployment.createGraph(destinationsFile);
                     }
                 } catch (IOException ioe) {
                     Exceptions.printStackTrace(ioe);
@@ -177,7 +162,7 @@ public class MessageDestinationSupportImpl implements MessageDestinationSupport
                 }
             } else if (create) {
                 // create netbeans-destinations-service.xml if it does not exist yet
-                destinationServiceModel = new Server();
+                destinationServiceModel = new MessagingDeployment();
                 ResourceConfigurationHelper.writeFile(destinationsFile, destinationServiceModel);
                 ensureDestinationsFOExists();
             }
@@ -216,7 +201,7 @@ public class MessageDestinationSupportImpl implements MessageDestinationSupport
 
         // Model for the editor content or the latest saved model
         // if the editor content is not parseable or valid for any reason.
-        Server newDestinationServiceModel = null;
+        MessagingDeployment newDestinationServiceModel = null;
 
         StyledDocument doc = null;
         try {
@@ -228,7 +213,7 @@ public class MessageDestinationSupportImpl implements MessageDestinationSupport
             }
             // try to create a graph from the editor content
             byte[] docString = doc.getText(0, doc.getLength()).getBytes();
-            newDestinationServiceModel = Server.createGraph(new ByteArrayInputStream(docString));
+            newDestinationServiceModel = MessagingDeployment.createGraph(new ByteArrayInputStream(docString));
         } catch (IOException ioe) {
             String msg = NbBundle.getMessage(MessageDestinationSupportImpl.class,
                     "MSG_CannotUpdateFile", destinationsFile.getAbsolutePath());    // NOI18N
@@ -237,7 +222,7 @@ public class MessageDestinationSupportImpl implements MessageDestinationSupport
             // this should not occur, just log it if it happens
             Logger.getLogger("global").log(Level.INFO, null, ble);
         } catch (RuntimeException e) {
-            Server oldDestinationServiceModel = getMessageDestinationModel(true);
+            MessagingDeployment oldDestinationServiceModel = getMessageDestinationModel(true);
             if (oldDestinationServiceModel == null) {
                 // neither the old graph is parseable, there is not much we can do here
                 // TODO: should we notify the user?
@@ -282,13 +267,12 @@ public class MessageDestinationSupportImpl implements MessageDestinationSupport
 
     }
 
-    private WildflyMessageDestination modifyMessageDestinationModel(
-            Server model, String name, MessageDestination.Type type) throws ConfigurationException {
 
+    private WildflyMessageDestination modifyMessageDestinationModel(
+            MessagingDeployment model, String name, MessageDestination.Type type) throws ConfigurationException {
         if (model == null) {
             return null;
         }
-
         // check whether the destination doesn't exist yet
         for (MessageDestination destination : getMessageDestinations(model)) {
             if (name.equals(destination.getName()) && type == destination.getType()) {
@@ -296,28 +280,20 @@ public class MessageDestinationSupportImpl implements MessageDestinationSupport
                 return null;
             }
         }
-
-        // <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
-        Depends depends = new Depends();
-        depends.setOptionalAttributeName("DestinationManager");     // NOI18N
-        // TODO uncomment as soon as the issue #102128 is fixed
-//        depends.addpcdata("jboss.mq:service=DestinationManager");   // NOI18N
-
-        Mbean mbean = new Mbean();
+        if(model.getHornetqServer(0) == null) {
+            HornetqServerType server = new HornetqServerType();
+            server.setJmsDestinations(server.newJmsDestinations());
+            model.addHornetqServer(server);
+        }
         if (type == MessageDestination.Type.QUEUE) {
-            // <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name={name}">
-            mbean.setCode("org.jboss.mq.server.jmx.Queue");                     // NOI18N
-            mbean.setName("jboss.mq.destination:service=Queue,name=" + name);   // NOI18N
+            JmsQueueType queue = new JmsQueueType();
+            queue.setName(name);
+            model.getHornetqServer(0).getJmsDestinations().addJmsQueue(queue);
         } else if (type == MessageDestination.Type.TOPIC) {
-            // <mbean code="org.jboss.mq.server.jmx.Topic" name="jboss.mq.destination:service=Queue,name={name}">
-            mbean.setCode("org.jboss.mq.server.jmx.Topic");                     // NOI18N
-            mbean.setName("jboss.mq.destination:service=Topic,name=" + name);   // NOI18N
+           JmsTopicType topic = new JmsTopicType();
+            topic.setName(name);
+            model.getHornetqServer(0).getJmsDestinations().addJmsTopic(topic);
         }
-
-        mbean.addDepends(depends);
-
-        model.addMbean(mbean);
-
         return new WildflyMessageDestination(name, type);
     }
 
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/mdb/wf10/MessageDestinationSupportImpl.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/mdb/wf10/MessageDestinationSupportImpl.java
index 86ee9f5..ee434f0 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/mdb/wf10/MessageDestinationSupportImpl.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/mdb/wf10/MessageDestinationSupportImpl.java
@@ -65,18 +65,18 @@ public class MessageDestinationSupportImpl implements MessageDestinationSupport
     public static final String CONN_FACTORY_JNDI_NAME_JB4 = "ConnectionFactory"; // NOI18N
 
 // the directory with resources - supplied by the configuration support in the construction time
-    private File resourceDir;
+    private final File resourceDir;
 
     //model of the destination service file
     private MessagingDeployment destinationServiceModel;
 
     //destination service file (placed in the resourceDir)
-    private File destinationsFile;
+    private final File destinationsFile;
 
     //destination service file object
     private FileObject destinationsFO;
     
-    private WildflyDeploymentManager dm;
+    private final WildflyDeploymentManager dm;
 
     public MessageDestinationSupportImpl(File resourceDir, String moduleName) throws IOException {
         this.resourceDir = resourceDir;
@@ -90,11 +90,13 @@ public class MessageDestinationSupportImpl implements MessageDestinationSupport
      */
     private class MessageDestinationFileListener extends FileChangeAdapter {
 
+        @Override
         public void fileChanged(FileEvent fe) {
             assert (fe.getSource() == destinationsFO);
             destinationServiceModel = null;
         }
 
+        @Override
         public void fileDeleted(FileEvent fe) {
             assert (fe.getSource() == destinationsFO);
             destinationServiceModel = null;
@@ -281,7 +283,7 @@ public class MessageDestinationSupportImpl implements MessageDestinationSupport
         }
         if(model.getServer(0) == null) {
             ServerType server = new ServerType();
-            server.setJmsDestinations(server.newJmsDestinations());            
+            server.setJmsDestinations(server.newJmsDestinations());
             model.addServer(server);
         }
         if (type == MessageDestination.Type.QUEUE) {
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/WildflyJ2eePlatformFactory.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/WildflyJ2eePlatformFactory.java
index cf3cf3f..f307c56 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/WildflyJ2eePlatformFactory.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/WildflyJ2eePlatformFactory.java
@@ -108,6 +108,8 @@ public class WildflyJ2eePlatformFactory extends J2eePlatformFactory {
             WILDFLY_PROFILES.add(Profile.JAVA_EE_6_FULL);
             WILDFLY_PROFILES.add(Profile.JAVA_EE_7_WEB);
             WILDFLY_PROFILES.add(Profile.JAVA_EE_7_FULL);
+            WILDFLY_PROFILES.add(Profile.JAVA_EE_8_WEB);
+            WILDFLY_PROFILES.add(Profile.JAVA_EE_8_FULL);
         }
 
         private static final Set<Profile> EAP6_PROFILES = new HashSet<Profile>();
@@ -122,6 +124,7 @@ public class WildflyJ2eePlatformFactory extends J2eePlatformFactory {
         static {
             WILDFLY_WEB_PROFILES.add(Profile.JAVA_EE_6_WEB);
             WILDFLY_WEB_PROFILES.add(Profile.JAVA_EE_7_WEB);
+            WILDFLY_WEB_PROFILES.add(Profile.JAVA_EE_8_WEB);
         }
         private LibraryImplementation[] libraries;
 
@@ -163,6 +166,9 @@ public class WildflyJ2eePlatformFactory extends J2eePlatformFactory {
             Set versions = new HashSet();
             versions.add("1.7"); // NOI18N
             versions.add("1.8"); // NOI18N
+            versions.add("1.8"); // NOI18N
+            versions.add("1.9"); // NOI18N
+            versions.add("11"); // NOI18N
             return versions;
         }
 
@@ -224,6 +230,7 @@ public class WildflyJ2eePlatformFactory extends J2eePlatformFactory {
         }
 
         @Override
+        @Deprecated
         public boolean isToolSupported(String toolName) {
 
             if (J2eePlatform.TOOL_JSR109.equals(toolName)) {
@@ -439,6 +446,7 @@ public class WildflyJ2eePlatformFactory extends J2eePlatformFactory {
         }
 
         @Override
+        @Deprecated
         public String getToolProperty(String toolName, String propertyName) {
             if (J2eePlatform.TOOL_APP_CLIENT_RUNTIME.equals(toolName)) {
                 if (J2eePlatform.TOOL_PROP_MAIN_CLASS.equals(propertyName)) {
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/commands/WildflyClient.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/commands/WildflyClient.java
index 1fde5df..1af0a77 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/commands/WildflyClient.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/commands/WildflyClient.java
@@ -154,7 +154,6 @@ public class WildflyClient {
     private static final String MESSAGING_ACTIVEMQ_SUBSYSTEM = "messaging-activemq"; // NOI18N
     private static final String RESOURCE_ADAPTER_SUBSYSTEM = "resource-adapters"; // NOI18N
 
-
     private static final String DATASOURCE_TYPE = "data-source"; // NOI18N
     private static final String HORNETQ_SERVER_TYPE = "hornetq-server"; // NOI18N
     private static final String MESSAGING_ACTIVEMQ_SERVER_TYPE = "server"; // NOI18N
@@ -355,7 +354,7 @@ public class WildflyClient {
             // ModelNode
             Object deploymentAddressModelNode = createDeploymentPathAddressAsModelNode(cl, null);
             // ModelNode
-            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true);
+            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true, true);
             // ModelNode
             Object response = executeOnModelNode(cl, readDeployments);
             String httpPort = ip.getProperty(WildflyPluginProperties.PROPERTY_PORT);
@@ -377,7 +376,7 @@ public class WildflyClient {
                 }
             }
             return modules;
-        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException ex) {
+        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException | InstantiationException ex) {
             throw new IOException(ex);
         }
     }
@@ -389,7 +388,7 @@ public class WildflyClient {
             // ModelNode
             Object deploymentAddressModelNode = createDeploymentPathAddressAsModelNode(cl, null);
             // ModelNode
-            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true);
+            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true, true);
             // ModelNode
             Object response = executeOnModelNode(cl, readDeployments);
             String httpPort = ip.getProperty(WildflyPluginProperties.PROPERTY_PORT);
@@ -413,7 +412,7 @@ public class WildflyClient {
                 }
             }
             return modules;
-        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException ex) {
+        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException | InstantiationException ex) {
             throw new IOException(ex);
         }
     }
@@ -424,7 +423,7 @@ public class WildflyClient {
             // ModelNode
             Object deploymentAddressModelNode = createDeploymentPathAddressAsModelNode(cl, webModuleName);
             // ModelNode
-            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true);
+            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true, true);
             // ModelNode
             Object response = executeOnModelNode(cl, readDeployments);
             String httpPort = ip.getProperty(WildflyPluginProperties.PROPERTY_PORT);
@@ -456,7 +455,7 @@ public class WildflyClient {
                 }
             }
             return "";
-        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException ex) {
+        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException | InstantiationException ex) {
             throw new IOException(ex);
         }
     }
@@ -468,7 +467,7 @@ public class WildflyClient {
             // ModelNode
             Object deploymentAddressModelNode = createDeploymentPathAddressAsModelNode(cl, null);
             // ModelNode
-            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true);
+            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true, true);
             // ModelNode
             Object response = executeOnModelNode(cl, readDeployments);
             if (isSuccessfulOutcome(cl, response)) {
@@ -491,7 +490,7 @@ public class WildflyClient {
                 }
             }
             return modules;
-        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException ex) {
+        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException | InstantiationException ex) {
             throw new IOException(ex);
         }
     }
@@ -713,27 +712,27 @@ public class WildflyClient {
     }
 
     public Collection<WildflyDestinationNode> listDestinations(Lookup lookup) throws IOException {
-        List<MessageDestination> destinations = listDestinations();
+        List<WildflyMessageDestination> destinations = listDestinations();
         List<WildflyDestinationNode> modules = new ArrayList<>(destinations.size());
-        for (MessageDestination destination : destinations) {
+        for (WildflyMessageDestination destination : destinations) {
             modules.add(new WildflyDestinationNode(destination.getName(), destination, lookup));
         }
         return modules;
     }
 
     public List<WildflyDestinationNode> listDestinationForDeployment(Lookup lookup, String jeeDeploymentName) throws IOException {
-        List<MessageDestination> destinations = listDestinationForDeployment(jeeDeploymentName);
+        List<WildflyMessageDestination> destinations = listDestinationForDeployment(jeeDeploymentName);
         List<WildflyDestinationNode> modules = new ArrayList<>(destinations.size());
-        for (MessageDestination destination : destinations) {
+        for (WildflyMessageDestination destination : destinations) {
             modules.add(new WildflyDestinationNode(destination.getName(), destination, lookup));
         }
         return modules;
     }
 
-    public List<MessageDestination> listDestinationForDeployment(String deployment) throws IOException {
+    public List<WildflyMessageDestination> listDestinationForDeployment(String deployment) throws IOException {
         try {
             WildflyDeploymentFactory.WildFlyClassLoader cl = WildflyDeploymentFactory.getInstance().getWildFlyClassLoader(ip);
-            List<MessageDestination> destinations = new ArrayList<>();
+            List<WildflyMessageDestination> destinations = new ArrayList<>();
             // ModelNode
             final Object readMessagingServers = createModelNode(cl);
             setModelNodeChildString(cl, getModelNodeChild(cl, readMessagingServers, OP), READ_CHILDREN_NAMES_OPERATION);
@@ -764,10 +763,10 @@ public class WildflyClient {
         }
     }
 
-    public List<MessageDestination> listDestinations() throws IOException {
+    public List<WildflyMessageDestination> listDestinations() throws IOException {
         try {
             WildflyDeploymentFactory.WildFlyClassLoader cl = WildflyDeploymentFactory.getInstance().getWildFlyClassLoader(ip);
-            List<MessageDestination> destinations = new ArrayList<MessageDestination>();
+            List<WildflyMessageDestination> destinations = new ArrayList<>();
             // ModelNode
             final Object readMessagingServers = createModelNode(cl);
             setModelNodeChildString(cl, getModelNodeChild(cl, readMessagingServers, OP), READ_CHILDREN_NAMES_OPERATION);
@@ -827,14 +826,14 @@ public class WildflyClient {
                 List destinations = modelNodeAsList(cl, readResult(cl, response));
                 for (Object destination : destinations) {
                     Object value = modelNodeAsPropertyForValue(cl, destination);
+                    WildflyMessageDestination wildflyDestination = new WildflyMessageDestination(modelNodeAsPropertyForName(cl, destination), messageType);
                     if (modelNodeHasChild(cl, value, "entries")) {
                         List entries = modelNodeAsList(cl, getModelNodeChild(cl, modelNodeAsPropertyForValue(cl, destination), "entries"));
                         for (Object entry : entries) {
-                            listedDestinations.add(new WildflyMessageDestination(modelNodeAsString(cl, entry), messageType));
+                            wildflyDestination.addEntry(modelNodeAsString(cl, entry));
                         }
-                    } else {
-                        listedDestinations.add(new WildflyMessageDestination(modelNodeAsPropertyForName(cl, destination), messageType));
                     }
+                    listedDestinations.add(wildflyDestination);
                 }
             }
             return listedDestinations;
@@ -871,14 +870,14 @@ public class WildflyClient {
                 List destinations = modelNodeAsList(cl, readResult(cl, response));
                 for (Object destination : destinations) {
                     Object value = modelNodeAsPropertyForValue(cl, destination);
+                    WildflyMessageDestination wildflyDestination = new WildflyMessageDestination(modelNodeAsPropertyForName(cl, destination), messageType);
                     if (modelNodeHasChild(cl, value, "entries")) {
                         List entries = modelNodeAsList(cl, getModelNodeChild(cl, modelNodeAsPropertyForValue(cl, destination), "entries"));
                         for (Object entry : entries) {
-                            listedDestinations.add(new WildflyMessageDestination(modelNodeAsString(cl, entry), messageType));
+                            wildflyDestination.addEntry(modelNodeAsString(cl, entry));
                         }
-                    } else {
-                        listedDestinations.add(new WildflyMessageDestination(modelNodeAsPropertyForName(cl, destination), messageType));
                     }
+                    listedDestinations.add(wildflyDestination);
                 }
             }
             return listedDestinations;
@@ -911,10 +910,10 @@ public class WildflyClient {
             }
             Object address = createPathAddressAsModelNode(cl, values);
             Object operation = createAddOperation(cl, address);
-            if(destination.getJndiNames().isEmpty()) {
+            if (destination.getJndiNames().isEmpty()) {
                 destination.addEntry(destination.getName());
             }
-            for(String jndiName : destination.getJndiNames()) {
+            for (String jndiName : destination.getJndiNames()) {
                 addModelNodeChildString(cl, getModelNodeChild(cl, operation, "entries"), jndiName);
             }
             Object response = executeOnModelNode(cl, operation);
@@ -972,14 +971,14 @@ public class WildflyClient {
                 String serverUrl = "http://" + serverAddress + ':' + ip.getProperty(WildflyPluginProperties.PROPERTY_PORT);
                 // List<ModelNode>
                 Object result = readResult(cl, response);
-                if(modelNodeIsDefined(cl, result)) {
+                if (modelNodeIsDefined(cl, result)) {
                     List names = modelNodeAsList(cl, result);
                     for (Object jaxrsResource : names) {
                         String resourceClass = modelNodeAsString(cl, getModelNodeChild(cl, jaxrsResource, Constants.JAXRS_RESOURCE_CLASSNAME));
                         String resourcePath = modelNodeAsString(cl, getModelNodeChild(cl, jaxrsResource, Constants.JAXRS_RESOURCE_PATH));
                         List methods = modelNodeAsList(cl, getModelNodeChild(cl, jaxrsResource, Constants.JAXRS_RESOURCE_METHODS));
                         String key = resourceClass + "___" + resourcePath;
-                        if(jaxrsResources.containsKey(key)) {
+                        if (jaxrsResources.containsKey(key)) {
                             jaxrsResources.get(key).addMethods(methods);
                         } else {
                             jaxrsResources.put(key, new WildflyJaxrsResource(resourceClass, resourcePath, serverUrl, methods));
@@ -992,6 +991,7 @@ public class WildflyClient {
             throw new IOException(ex);
         }
     }
+
     public Collection<WildflyMailSessionResource> listMailSessions() throws IOException {
         try {
             WildflyDeploymentFactory.WildFlyClassLoader cl = WildflyDeploymentFactory.getInstance().getWildFlyClassLoader(ip);
@@ -1027,7 +1027,7 @@ public class WildflyClient {
             WildflyDeploymentFactory.WildFlyClassLoader cl = WildflyDeploymentFactory.getInstance().getWildFlyClassLoader(ip);
             List<WildflyEarApplicationNode> modules = new ArrayList<>();
             Object deploymentAddressModelNode = createDeploymentPathAddressAsModelNode(cl, null);
-            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true);
+            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true, true);
             Object response = executeOnModelNode(cl, readDeployments);
             if (isSuccessfulOutcome(cl, response)) {
                 Object result = readResult(cl, response);
@@ -1040,7 +1040,7 @@ public class WildflyClient {
                 }
             }
             return modules;
-        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException ex) {
+        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException | InstantiationException ex) {
             throw new IOException(ex);
         }
     }
@@ -1050,7 +1050,7 @@ public class WildflyClient {
             WildflyDeploymentFactory.WildFlyClassLoader cl = WildflyDeploymentFactory.getInstance().getWildFlyClassLoader(ip);
             List modules = new ArrayList();
             Object deploymentAddressModelNode = createDeploymentPathAddressAsModelNode(cl, jeeApplicationName);
-            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true);
+            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true, true);
             Object response = executeOnModelNode(cl, readDeployments);
             if (isSuccessfulOutcome(cl, response)) {
                 String httpPort = ip.getProperty(WildflyPluginProperties.PROPERTY_PORT);
@@ -1083,7 +1083,7 @@ public class WildflyClient {
                 }
             }
             return modules;
-        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException ex) {
+        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException | InstantiationException ex) {
             throw new IOException(ex);
         }
     }
@@ -1093,7 +1093,7 @@ public class WildflyClient {
             WildflyDeploymentFactory.WildFlyClassLoader cl = WildflyDeploymentFactory.getInstance().getWildFlyClassLoader(ip);
             List modules = new ArrayList();
             Object deploymentAddressModelNode = createDeploymentPathAddressAsModelNode(cl, applicationName);
-            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true);
+            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true, true);
             Object response = executeOnModelNode(cl, readDeployments);
             if (isSuccessfulOutcome(cl, response)) {
                 Object result = readResult(cl, response);
@@ -1110,7 +1110,7 @@ public class WildflyClient {
             }
 
             return modules;
-        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException ex) {
+        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException | InstantiationException ex) {
             throw new IOException(ex);
         }
     }
@@ -1289,7 +1289,7 @@ public class WildflyClient {
         values.put("scanner", "default");
         return resolvePath(cl, values);
     }
-    
+
     private String resolveExpression(String unresolvedString) throws IOException {
         try {
             WildflyDeploymentFactory.WildFlyClassLoader cl = WildflyDeploymentFactory.getInstance().getWildFlyClassLoader(ip);
@@ -1298,7 +1298,7 @@ public class WildflyClient {
             Object rootAddress = createPathAddressAsModelNode(cl, new LinkedHashMap<>());
             setModelNodeChild(cl, getModelNodeChild(cl, resolveExpression, ADDRESS), rootAddress);
             String testedExpression;
-            if(unresolvedString.startsWith("${") && unresolvedString.endsWith("}")) {
+            if (unresolvedString.startsWith("${") && unresolvedString.endsWith("}")) {
                 testedExpression = unresolvedString;
             } else {
                 testedExpression = "${" + unresolvedString + "}";
@@ -1307,7 +1307,7 @@ public class WildflyClient {
             Object response = executeOnModelNode(cl, resolveExpression);
             if (isSuccessfulOutcome(cl, response)) {
                 Object resolvedExpression = readResult(cl, response);
-                return modelNodeAsString(cl,resolvedExpression);
+                return modelNodeAsString(cl, resolvedExpression);
             }
             return unresolvedString;
         } catch (ClassNotFoundException | IllegalAccessException | NoSuchMethodException | InvocationTargetException | InstantiationException ex) {
@@ -1358,16 +1358,16 @@ public class WildflyClient {
             throw new IOException(ex);
         }
     }
-    
+
     private String getMessagingSubsystem() {
-        if(version.compareTo(WILDFLY_10_0_0) >= 0) {
+        if (version.compareTo(WILDFLY_10_0_0) >= 0) {
             return MESSAGING_ACTIVEMQ_SUBSYSTEM;
         }
         return MESSAGING_SUBSYSTEM;
     }
 
     private String getMessagingServerType() {
-        if(version.compareTo(WILDFLY_10_0_0) >= 0) {
+        if (version.compareTo(WILDFLY_10_0_0) >= 0) {
             return MESSAGING_ACTIVEMQ_SERVER_TYPE;
         }
         return HORNETQ_SERVER_TYPE;
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/commands/WildflyManagementAPI.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/commands/WildflyManagementAPI.java
index 8da8d20..97ac9b1 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/commands/WildflyManagementAPI.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/commands/WildflyManagementAPI.java
@@ -19,6 +19,7 @@
 package org.netbeans.modules.javaee.wildfly.ide.commands;
 
 import static org.netbeans.modules.javaee.wildfly.ide.commands.Constants.DEPLOYMENT;
+import static org.netbeans.modules.javaee.wildfly.ide.commands.Constants.INCLUDE_RUNTIME;
 import static org.netbeans.modules.javaee.wildfly.ide.commands.Constants.UNDEFINED;
 
 import java.lang.reflect.Array;
@@ -117,12 +118,14 @@ public class WildflyManagementAPI {
     }
 
     // ModelNode
-    static Object createReadResourceOperation(WildflyDeploymentFactory.WildFlyClassLoader cl, Object modelNode, boolean recursive)
-            throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException {
-        Class<?> clazz = cl.loadClass("org.jboss.as.controller.client.helpers.Operations"); // NOI18N
+    static Object createReadResourceOperation(WildflyDeploymentFactory.WildFlyClassLoader cl, Object modelNode, boolean recursive, boolean runtime)
+            throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
+        Class clazz = cl.loadClass("org.jboss.as.controller.client.helpers.Operations"); // NOI18N
         Class modelClazz = cl.loadClass("org.jboss.dmr.ModelNode"); // NOI18N
         Method method = clazz.getDeclaredMethod("createReadResourceOperation", new Class[]{modelClazz, boolean.class});
-        return method.invoke(null, modelNode, recursive);
+        Object op =  method.invoke(null, modelNode, recursive);
+        setModelNodeChild(cl, getModelNodeChild(cl, op, INCLUDE_RUNTIME), runtime);
+        return op;
     }
 
     // ModelNode
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/WildflyPluginUtils.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/WildflyPluginUtils.java
index 2126c96..aae3558 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/WildflyPluginUtils.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/WildflyPluginUtils.java
@@ -71,6 +71,24 @@ public class WildflyPluginUtils {
     
     public static final Version WILDFLY_10_0_0 = new Version("10.0.0", true); // NOI18N
 
+    public static final Version WILDFLY_11_0_0 = new Version("11.0.0", true); // NOI18N
+
+    public static final Version WILDFLY_12_0_0 = new Version("12.0.0", true); // NOI18N
+
+    public static final Version WILDFLY_13_0_0 = new Version("13.0.0", true); // NOI18N
+
+    public static final Version WILDFLY_14_0_0 = new Version("14.0.0", true); // NOI18N
+
+    public static final Version WILDFLY_15_0_0 = new Version("15.0.0", true); // NOI18N
+
+    public static final Version WILDFLY_16_0_0 = new Version("16.0.0", true); // NOI18N
+
+    public static final Version WILDFLY_17_0_0 = new Version("17.0.0", true); // NOI18N
+
+    public static final Version WILDFLY_18_0_0 = new Version("18.0.0", true); // NOI18N
+
+    public static final Version WILDFLY_19_0_0 = new Version("19.0.0", true); // NOI18N
+
     private static final Logger LOGGER = Logger.getLogger(WildflyPluginUtils.class.getName());
 
     public static final String LIB = "lib" + separatorChar;
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/Bundle.properties b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/Bundle.properties
index 44da575..2418349 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/Bundle.properties
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/Bundle.properties
@@ -46,6 +46,8 @@ LBL_Resources_Destinations=JMS Destinations
 LBL_Resources_MailSessions=Mail Sessions
 LBL_Resources_ConnectionFactories=Connection Factories
 LBL_Resources_JMS=JMS Resources
+LBL_Resources_JMS_Destination_JNDI_Name=JNDI Name
+DESC_Resources_JMS_Destination_JNDI_Name=JNDI Name for the currentJMS destination
 
 
 
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyDatasourceNode.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyDatasourceNode.java
index b0d1af6..bd18b15 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyDatasourceNode.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyDatasourceNode.java
@@ -63,7 +63,7 @@ public class WildflyDatasourceNode extends AbstractNode {
         PropertySupport ps = new SimplePropertySupport(name, value, displayName, description);
         getSheet().get(Sheet.PROPERTIES).put(ps);
     }
-    
+
     @Override
     protected Sheet createSheet() {
         Sheet sheet = Sheet.createDefault();
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyDestinationNode.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyDestinationNode.java
index 16bbdb4..75fb253 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyDestinationNode.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyDestinationNode.java
@@ -21,13 +21,18 @@ package org.netbeans.modules.javaee.wildfly.nodes;
 import java.awt.Image;
 import javax.swing.Action;
 import org.netbeans.modules.j2ee.deployment.common.api.MessageDestination;
+import org.netbeans.modules.javaee.wildfly.config.WildflyMessageDestination;
 import org.netbeans.modules.javaee.wildfly.nodes.actions.ResourceType;
 import org.netbeans.modules.javaee.wildfly.nodes.actions.UndeployModuleAction;
 import org.netbeans.modules.javaee.wildfly.nodes.actions.UndeployModuleCookieImpl;
+import org.openide.actions.PropertiesAction;
 import org.openide.nodes.AbstractNode;
 import org.openide.nodes.Children;
+import org.openide.nodes.PropertySupport;
+import org.openide.nodes.Sheet;
 import org.openide.util.ImageUtilities;
 import org.openide.util.Lookup;
+import org.openide.util.NbBundle;
 import org.openide.util.actions.SystemAction;
 
 /**
@@ -36,17 +41,41 @@ import org.openide.util.actions.SystemAction;
  */
 public class WildflyDestinationNode extends AbstractNode {
 
-    public WildflyDestinationNode(String name, MessageDestination destination, Lookup lookup) {
+    public WildflyDestinationNode(String name, WildflyMessageDestination destination, Lookup lookup) {
         super(Children.LEAF);
         getCookieSet().add(new UndeployModuleCookieImpl(destination.getName(), destination.getType() == MessageDestination.Type.QUEUE ? ResourceType.QUEUE : ResourceType.TOPIC,lookup));
         setDisplayName(destination.getName());
         setName(name);
         setShortDescription(destination.getName());
+        initProperties((WildflyMessageDestination) destination);
+    }
+
+    protected void initProperties(WildflyMessageDestination destination) {
+        int i = 0;
+        for(String jndiEntry : destination.getJndiNames()) {
+            addProperty("JndiName_" + i, jndiEntry);
+            i++;
+        }
+    }
+
+    private void addProperty(String name, String value) {
+        String displayName = NbBundle.getMessage(WildflyDatasourceNode.class, "LBL_Resources_JMS_Destination_JNDI_Name");
+        String description = NbBundle.getMessage(WildflyDatasourceNode.class, "DESC_Resources_JMS_Destination_JNDI_Name");
+        PropertySupport ps = new SimplePropertySupport(name, value, displayName, description);
+        getSheet().get(Sheet.PROPERTIES).put(ps);
+    }
+
+    @Override
+    protected Sheet createSheet() {
+        Sheet sheet = Sheet.createDefault();
+        setSheet(sheet);
+        return sheet;
     }
 
     @Override
     public Action[] getActions(boolean context) {
         return new SystemAction[]{
+            SystemAction.get(PropertiesAction.class),
             SystemAction.get(UndeployModuleAction.class)
         };
     }
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyRegistryNodeFactory.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyRegistryNodeFactory.java
index 4a55dc3..00b1ed6 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyRegistryNodeFactory.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyRegistryNodeFactory.java
@@ -27,6 +27,7 @@ import org.openide.util.Lookup;
  *
  * @author Kirill Sorokin <Ki...@Sun.COM>
  */
+@Deprecated
 public class WildflyRegistryNodeFactory implements RegistryNodeFactory {
 
     @Override
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyResourcesItemNode.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyResourcesItemNode.java
index c41169f..eff2781 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyResourcesItemNode.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyResourcesItemNode.java
@@ -56,7 +56,7 @@ public class WildflyResourcesItemNode extends AbstractNode {
     }
 
     @Override
-    public Image getOpenedIcon(int type) {        
+    public Image getOpenedIcon(int type) {
         return ImageUtilities.loadImage(icon);
     }
 
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/application-client_7.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/application-client_7.xsd
deleted file mode 100644
index 7b28e2f..0000000
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/application-client_7.xsd
+++ /dev/null
@@ -1,331 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-            targetNamespace="http://xmlns.jcp.org/xml/ns/javaee"
-            xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee"
-            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-            elementFormDefault="qualified"
-            attributeFormDefault="unqualified"
-            version="7">
-  <xsd:annotation>
-    <xsd:documentation>
-
-      DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
-      
-      Copyright (c) 2009-2013 Oracle and/or its affiliates. All rights reserved.
-      
-      The contents of this file are subject to the terms of either the GNU
-      General Public License Version 2 only ("GPL") or the Common Development
-      and Distribution License("CDDL") (collectively, the "License").  You
-      may not use this file except in compliance with the License.  You can
-      obtain a copy of the License at
-      https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
-      or packager/legal/LICENSE.txt.  See the License for the specific
-      language governing permissions and limitations under the License.
-      
-      When distributing the software, include this License Header Notice in each
-      file and include the License file at packager/legal/LICENSE.txt.
-      
-      GPL Classpath Exception:
-      Oracle designates this particular file as subject to the "Classpath"
-      exception as provided by Oracle in the GPL Version 2 section of the License
-      file that accompanied this code.
-      
-      Modifications:
-      If applicable, add the following below the License Header, with the fields
-      enclosed by brackets [] replaced by your own identifying information:
-      "Portions Copyright [year] [name of copyright owner]"
-      
-      Contributor(s):
-      If you wish your version of this file to be governed by only the CDDL or
-      only the GPL Version 2, indicate your decision by adding "[Contributor]
-      elects to include this software in this distribution under the [CDDL or GPL
-      Version 2] license."  If you don't indicate a single choice of license, a
-      recipient has the option to distribute your version of this file under
-      either the CDDL, the GPL Version 2 or to extend the choice of license to
-      its licensees as provided above.  However, if you add GPL Version 2 code
-      and therefore, elected the GPL Version 2 license, then the option applies
-      only if the new code is made subject to such option by the copyright
-      holder.
-      
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:annotation>
-    <xsd:documentation>
-      <![CDATA[[
-      This is the XML Schema for the application client 7
-      deployment descriptor.  The deployment descriptor must
-      be named "META-INF/application-client.xml" in the
-      application client's jar file.  All application client
-      deployment descriptors must indicate the application
-      client schema by using the Java EE namespace:
-      
-      http://xmlns.jcp.org/xml/ns/javaee
-      
-      and indicate the version of the schema by
-      using the version element as shown below:
-      
-      <application-client xmlns="http://xmlns.jcp.org/xml/ns/javaee"
-      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
-      	http://xmlns.jcp.org/xml/ns/javaee/application-client_7.xsd"
-      version="7">
-      ...
-      </application-client>
-      
-      The instance documents may indicate the published version of
-      the schema using the xsi:schemaLocation attribute for Java EE
-      namespace with the following location:
-      
-      http://xmlns.jcp.org/xml/ns/javaee/application-client_7.xsd
-      
-      ]]>
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:annotation>
-    <xsd:documentation>
-
-      The following conventions apply to all Java EE
-      deployment descriptor elements unless indicated otherwise.
-      
-      - In elements that specify a pathname to a file within the
-      same JAR file, relative filenames (i.e., those not
-      starting with "/") are considered relative to the root of
-      the JAR file's namespace.  Absolute filenames (i.e., those
-      starting with "/") also specify names in the root of the
-      JAR file's namespace.  In general, relative names are
-      preferred.  The exception is .war files where absolute
-      names are preferred for consistency with the Servlet API.
-      
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:include schemaLocation="javaee_7.xsd"/>
-
-
-<!-- **************************************************** -->
-
-  <xsd:element name="application-client"
-               type="javaee:application-clientType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The application-client element is the root element of an
-        application client deployment descriptor.  The application
-        client deployment descriptor describes the EJB components
-        and external resources referenced by the application
-        client.
-        
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:unique name="env-entry-name-uniqueness">
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The env-entry-name element contains the name of an
-          application client's environment entry.  The name is a JNDI
-          name relative to the java:comp/env context.  The name must
-          be unique within an application client.
-          
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:selector xpath="javaee:env-entry"/>
-      <xsd:field xpath="javaee:env-entry-name"/>
-    </xsd:unique>
-    <xsd:unique name="ejb-ref-name-uniqueness">
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The ejb-ref-name element contains the name of an EJB
-          reference. The EJB reference is an entry in the application
-          client's environment and is relative to the
-          java:comp/env context. The name must be unique within the
-          application client.
-          
-          It is recommended that name is prefixed with "ejb/".
-          
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:selector xpath="javaee:ejb-ref"/>
-      <xsd:field xpath="javaee:ejb-ref-name"/>
-    </xsd:unique>
-    <xsd:unique name="res-ref-name-uniqueness">
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The res-ref-name element specifies the name of a
-          resource manager connection factory reference.The name
-          is a JNDI name relative to the java:comp/env context.
-          The name must be unique within an application client.
-          
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:selector xpath="javaee:resource-ref"/>
-      <xsd:field xpath="javaee:res-ref-name"/>
-    </xsd:unique>
-    <xsd:unique name="resource-env-ref-uniqueness">
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The resource-env-ref-name element specifies the name of
-          a resource environment reference; its value is the
-          environment entry name used in the application client
-          code. The name is a JNDI name relative to the
-          java:comp/env context and must be unique within an
-          application client.
-          
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:selector xpath="javaee:resource-env-ref"/>
-      <xsd:field xpath="javaee:resource-env-ref-name"/>
-    </xsd:unique>
-    <xsd:unique name="message-destination-ref-uniqueness">
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The message-destination-ref-name element specifies the
-          name of a message destination reference; its value is
-          the message destination reference name used in the
-          application client code. The name is a JNDI name
-          relative to the java:comp/env context and must be unique
-          within an application client.
-          
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:selector xpath="javaee:message-destination-ref"/>
-      <xsd:field xpath="javaee:message-destination-ref-name"/>
-    </xsd:unique>
-  </xsd:element>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="application-clientType">
-    <xsd:sequence>
-      <xsd:element name="module-name"
-                   type="javaee:string"
-                   minOccurs="0"/>
-      <xsd:group ref="javaee:descriptionGroup"/>
-      <xsd:element name="env-entry"
-                   type="javaee:env-entryType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="ejb-ref"
-                   type="javaee:ejb-refType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:group ref="javaee:service-refGroup"/>
-      <xsd:element name="resource-ref"
-                   type="javaee:resource-refType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="resource-env-ref"
-                   type="javaee:resource-env-refType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="message-destination-ref"
-                   type="javaee:message-destination-refType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="persistence-unit-ref"
-                   type="javaee:persistence-unit-refType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="post-construct"
-                   type="javaee:lifecycle-callbackType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="pre-destroy"
-                   type="javaee:lifecycle-callbackType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="callback-handler"
-                   type="javaee:fully-qualified-classType"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The callback-handler element names a class provided by
-            the application.  The class must have a no args
-            constructor and must implement the
-            javax.security.auth.callback.CallbackHandler
-            interface.  The class will be instantiated by the
-            application client container and used by the container
-            to collect authentication information from the user.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="message-destination"
-                   type="javaee:message-destinationType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="data-source"
-                   type="javaee:data-sourceType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="jms-connection-factory"
-                   type="javaee:jms-connection-factoryType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="jms-destination"
-                   type="javaee:jms-destinationType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="mail-session"
-                   type="javaee:mail-sessionType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="connection-factory"
-                   type="javaee:connection-factory-resourceType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="administered-object"
-                   type="javaee:administered-objectType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="version"
-                   type="javaee:dewey-versionType"
-                   fixed="7"
-                   use="required">
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The required value for the version is 7.
-          
-        </xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-    <xsd:attribute name="metadata-complete"
-                   type="xsd:boolean">
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The metadata-complete attribute defines whether this
-          deployment descriptor and other related deployment
-          descriptors for this module (e.g., web service
-          descriptors) are complete, or whether the class
-          files available to this module and packaged with
-          this application should be examined for annotations
-          that specify deployment information.
-          
-          If metadata-complete is set to "true", the deployment
-          tool must ignore any annotations that specify deployment
-          information, which might be present in the class files
-          of the application.
-          
-          If metadata-complete is not specified or is set to
-          "false", the deployment tool must examine the class
-          files of the application for annotations, as
-          specified by the specifications.
-          
-        </xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-    <xsd:attribute name="id"
-                   type="xsd:ID"/>
-  </xsd:complexType>
-
-</xsd:schema>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/datasources_1_1.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/datasources_1_4_1.xsd
similarity index 88%
rename from contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/datasources_1_1.xsd
rename to contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/datasources_1_4_1.xsd
index fe4b1c6..cd28671 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/datasources_1_1.xsd
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/datasources_1_4_1.xsd
@@ -1,4 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2020, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ All rights reserved. This program and the accompanying materials
+~ are made available under the terms of the Eclipse Public License v1.0
+~ which accompanies this distribution, and is available at
+~ http://www.eclipse.org/legal/epl-v10.html
+~ 
+-->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
            elementFormDefault="qualified"
            targetNamespace="http://www.ironjacamar.org/doc/schema"
@@ -238,6 +249,15 @@
           </xs:documentation>
         </xs:annotation>
       </xs:element>
+      <xs:element name="url-property" type="xs:token" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>
+            <![CDATA[[
+               Specifies the property for the URL property in the xa-datasource-property values
+              ]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
       <xs:element name="url-selector-strategy-class-name" type="xs:token" minOccurs="0">
         <xs:annotation>
           <xs:documentation>
@@ -378,6 +398,42 @@
         </xs:documentation>
       </xs:annotation>
     </xs:attribute>
+    <xs:attribute name="connectable" type="xs:boolean" default="false" use="optional">
+      <xs:annotation>
+        <xs:documentation>
+          <![CDATA[[
+            Defines if external components can obtain a connection throught the IronJacamar SPI if supported by the resource adapter
+           ]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="tracking" type="xs:boolean" use="optional">
+      <xs:annotation>
+        <xs:documentation>
+          <![CDATA[[
+            Defines if IronJacamar should track connection handles across transaction boundaries
+           ]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="mcp" type="xs:token" use="optional">
+      <xs:annotation>
+        <xs:documentation>
+          <![CDATA[[
+            Defines the ManagedConnectionPool implementation, f.ex. org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool
+           ]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="enlistment-trace" type="xs:boolean" use="optional">
+      <xs:annotation>
+        <xs:documentation>
+          <![CDATA[[
+            Defines if WildFly/IronJacamar should record enlistment traces
+           ]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
   </xs:attributeGroup>
   <xs:simpleType name="transaction-isolationType">
     <xs:annotation>
@@ -647,6 +703,16 @@
           </xs:documentation>
         </xs:annotation>
       </xs:element>
+      <xs:element name="initial-pool-size" type="xs:nonNegativeInteger" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>
+            <![CDATA[[
+              The initial-pool-size element indicates the initial number of connections 
+              a pool should hold. This default to 0. Ex: <initial-pool-size>1</initial-pool-size>
+             ]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
       <xs:element name="max-pool-size" type="xs:nonNegativeInteger" minOccurs="0">
         <xs:annotation>
           <xs:documentation>
@@ -679,12 +745,24 @@
           </xs:documentation>
         </xs:annotation>
       </xs:element>
+      <xs:element name="fair" type="xs:boolean" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>
+            <![CDATA[[
+              Whether to use a fair semaphore to control access to the pool. Empty element denotes
+              a true value. e.g. <fair>true</fair>.
+              Default is true
+             ]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
       <xs:element name="flush-strategy" type="xs:token" minOccurs="0" maxOccurs="1">
         <xs:annotation>
           <xs:documentation>
             <![CDATA[[
               Specifies how the pool should be flush in case of an error.
-              Valid values are: FailingConnectionOnly (default), IdleConnections, EntirePool 
+              Valid values are: FailingConnectionOnly (default), InvalidIdleConnections, IdleConnections, Gracefully, EntirePool,
+                                AllInvalidIdleConnections, AllIdleConnections, AllGracefully, AllConnections
              ]]>
           </xs:documentation>
         </xs:annotation>
@@ -699,6 +777,28 @@
           </xs:documentation>
         </xs:annotation>
       </xs:element>
+      <xs:element name="capacity" type="capacityType" minOccurs="0" maxOccurs="1">
+        <xs:annotation>
+          <xs:documentation>
+            <![CDATA[[
+              Specifies the capacity policies for the pool
+             ]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="connection-listener" type="extensionType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>
+            <![CDATA[[
+              An org.jboss.jca.adapters.jdbc.spi.listener.ConnectionListener that provides 
+              a possible to listen for connection activation and passivation in order to
+              perform actions before the connection is returned to the application or returned
+              to the pool. Ex:
+              <connection-listener class-name="com.acme.jdbc.OracleConnectionListener"/>
+             ]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
     </xs:sequence>
   </xs:complexType>
   <xs:complexType name="xa-poolType">
@@ -943,4 +1043,27 @@
       <xs:element name="driver" type="driverType" maxOccurs="unbounded" minOccurs="1"></xs:element>
     </xs:sequence>
   </xs:complexType>
+
+  <xs:complexType name="capacityType">
+    <xs:sequence>
+      <xs:element name="incrementer" type="extensionType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>
+            <![CDATA[[
+              Defines the policy for incrementing connections in the pool
+             ]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="decrementer" type="extensionType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>
+            <![CDATA[[
+              Defines the policy for decrementing connections in the pool
+             ]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:sequence>
+  </xs:complexType>
 </xs:schema>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/javaee_7.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/javaee_8.xsd
similarity index 94%
rename from contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/javaee_7.xsd
rename to contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/javaee_8.xsd
index 9b20d7e..2996054 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/javaee_7.xsd
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/javaee_8.xsd
@@ -4,14 +4,14 @@
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             elementFormDefault="qualified"
             attributeFormDefault="unqualified"
-            version="7">
+            version="8">
   <xsd:annotation>
     <xsd:documentation>
 
       DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
-      
-      Copyright (c) 2009-2013 Oracle and/or its affiliates. All rights reserved.
-      
+
+      Copyright (c) 2009-2017 Oracle and/or its affiliates. All rights reserved.
+
       The contents of this file are subject to the terms of either the GNU
       General Public License Version 2 only ("GPL") or the Common Development
       and Distribution License("CDDL") (collectively, the "License").  You
@@ -20,20 +20,20 @@
       https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
       or packager/legal/LICENSE.txt.  See the License for the specific
       language governing permissions and limitations under the License.
-      
+
       When distributing the software, include this License Header Notice in each
       file and include the License file at packager/legal/LICENSE.txt.
-      
+
       GPL Classpath Exception:
       Oracle designates this particular file as subject to the "Classpath"
       exception as provided by Oracle in the GPL Version 2 section of the License
       file that accompanied this code.
-      
+
       Modifications:
       If applicable, add the following below the License Header, with the fields
       enclosed by brackets [] replaced by your own identifying information:
       "Portions Copyright [year] [name of copyright owner]"
-      
+
       Contributor(s):
       If you wish your version of this file to be governed by only the CDDL or
       only the GPL Version 2, indicate your decision by adding "[Contributor]
@@ -45,7 +45,7 @@
       and therefore, elected the GPL Version 2 license, then the option applies
       only if the new code is made subject to such option by the copyright
       holder.
-      
+
     </xsd:documentation>
   </xsd:annotation>
 
@@ -55,25 +55,25 @@
       The following definitions that appear in the common
       shareable schema(s) of Java EE deployment descriptors should be
       interpreted with respect to the context they are included:
-      
+
       Deployment Component may indicate one of the following:
       java ee application;
       application client;
       web application;
       enterprise bean;
-      resource adapter; 
-      
+      resource adapter;
+
       Deployment File may indicate one of the following:
       ear file;
       war file;
       jar file;
       rar file;
-      
+
     </xsd:documentation>
   </xsd:annotation>
 
   <xsd:import namespace="http://www.w3.org/XML/1998/namespace"
-              schemaLocation="xml.xsd"/>
+              schemaLocation="http://www.w3.org/2001/xml.xsd"/>
 
   <xsd:include schemaLocation="javaee_web_services_client_1_4.xsd"/>
 
@@ -83,10 +83,10 @@
 
         This group keeps the usage of the contained description related
         elements consistent across Java EE deployment descriptors.
-        
+
         All elements may occur multiple times with different languages,
         to support localization of the content.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -111,7 +111,7 @@
 
         This group keeps the usage of the contained JNDI environment
         reference elements consistent across Java EE deployment descriptors.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -189,7 +189,7 @@
 
         This group collects elements that are common to most
         JNDI resource elements.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -201,7 +201,7 @@
           <xsd:documentation>
 
             The JNDI name to be looked up to resolve a resource reference.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -215,7 +215,7 @@
         This group collects elements that are common to all the
         JNDI resource elements. It does not include the lookup-name
         element, that is only applicable to some resource elements.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -234,13 +234,13 @@
             names to names of resources known to the application
             server.  This mapped name is often a global JNDI name,
             but may be a name of any form.
-            
+
             Application servers are not required to support any
             particular form or type of mapped name, nor the ability
             to use mapped names.  The mapped name is
             product-dependent and often installation-dependent.  No
             use of a mapped name is portable.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -259,7 +259,7 @@
       <xsd:documentation>
 
         Configuration of an administered object.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -270,7 +270,7 @@
           <xsd:documentation>
 
             Description of this administered object.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -281,7 +281,7 @@
 
             The name element specifies the JNDI name of the
             administered object being defined.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -292,7 +292,7 @@
           <xsd:documentation>
 
             The administered object's interface type.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -302,7 +302,7 @@
           <xsd:documentation>
 
             The administered object's class name.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -312,7 +312,7 @@
           <xsd:documentation>
 
             Resource adapter name.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -323,9 +323,9 @@
         <xsd:annotation>
           <xsd:documentation>
 
-            Property of the administered object property.  This may be a 
+            Property of the administered object property.  This may be a
             vendor-specific property.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -342,7 +342,7 @@
       <xsd:documentation>
 
         Configuration of a Connector Connection Factory resource.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -353,7 +353,7 @@
           <xsd:documentation>
 
             Description of this resource.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -364,7 +364,7 @@
 
             The name element specifies the JNDI name of the
             resource being defined.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -373,9 +373,9 @@
         <xsd:annotation>
           <xsd:documentation>
 
-            The fully qualified class name of the connection factory 
-            interface. 
-            
+            The fully qualified class name of the connection factory
+            interface.
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -385,7 +385,7 @@
           <xsd:documentation>
 
             Resource adapter name.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -397,7 +397,7 @@
 
             Maximum number of connections that should be concurrently
             allocated for a connection pool.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -409,7 +409,7 @@
 
             Minimum number of connections that should be concurrently
             allocated for a connection pool.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -419,9 +419,9 @@
         <xsd:annotation>
           <xsd:documentation>
 
-            The level of transaction support the connection factory 
-            needs to support. 
-            
+            The level of transaction support the connection factory
+            needs to support.
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -434,7 +434,7 @@
 
             Resource property.  This may be a vendor-specific
             property.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -451,7 +451,7 @@
       <xsd:documentation>
 
         Configuration of a DataSource.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -462,7 +462,7 @@
           <xsd:documentation>
 
             Description of this DataSource.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -473,7 +473,7 @@
 
             The name element specifies the JNDI name of the
             data source being defined.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -485,7 +485,7 @@
 
             DataSource, XADataSource or ConnectionPoolDataSource
             implementation class.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -496,7 +496,7 @@
           <xsd:documentation>
 
             Database server name.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -507,7 +507,7 @@
           <xsd:documentation>
 
             Port number where a server is listening for requests.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -518,7 +518,7 @@
           <xsd:documentation>
 
             Name of a database on a server.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -527,13 +527,13 @@
                    minOccurs="0">
         <xsd:annotation>
           <xsd:documentation>
-            <![CDATA[[
+            <![CDATA[
             A JDBC URL. If the <code>url</code> property is specified
             along with other standard <code>DataSource</code> properties
             such as <code>serverName</code>, <code>databaseName</code>
             and <code>portNumber</code>, the more specific properties will
             take precedence and <code>url</code> will be ignored.
-            
+
             ]]>
           </xsd:documentation>
         </xsd:annotation>
@@ -545,7 +545,7 @@
           <xsd:documentation>
 
             User name to use for connection authentication.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -556,7 +556,7 @@
           <xsd:documentation>
 
             Password to use for connection authentication.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -569,7 +569,7 @@
 
             JDBC DataSource property.  This may be a vendor-specific
             property or a less commonly used DataSource property.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -581,7 +581,7 @@
 
             Sets the maximum time in seconds that this data source
             will wait while attempting to connect to a database.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -593,7 +593,7 @@
 
             Set to false if connections should not participate in
             transactions.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -604,7 +604,7 @@
           <xsd:documentation>
 
             Isolation level for connections.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -616,7 +616,7 @@
 
             Number of connections that should be created when a
             connection pool is initialized.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -628,7 +628,7 @@
 
             Maximum number of connections that should be concurrently
             allocated for a connection pool.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -640,7 +640,7 @@
 
             Minimum number of connections that should be concurrently
             allocated for a connection pool.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -653,7 +653,7 @@
             The number of seconds that a physical connection should
             remain unused in the pool before the connection is
             closed for a connection pool.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -665,7 +665,7 @@
 
             The total number of statements that a connection pool
             should keep open.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -690,10 +690,10 @@
         tools used by such a Deployment File consumer will display
         the description when processing the parent element that
         contains the description.
-        
+
         The lang attribute defines the language that the
-        description is provided in. The default value is "en" (English). 
-        
+        description is provided in. The default value is "en" (English).
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -708,8 +708,8 @@
       <xsd:documentation>
 
         This type defines a dewey decimal that is used
-        to describe versions of documents. 
-        
+        to describe versions of documents.
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:token">
@@ -723,20 +723,20 @@
   <xsd:complexType name="display-nameType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The display-name type contains a short name that is intended
         to be displayed by tools. It is used by display-name
         elements.  The display name need not be unique.
-        
-        Example: 
-        
+
+        Example:
+
         ...
         <display-name xml:lang="en">
         Employee Self Service
         </display-name>
-        
-        The value of the xml:lang attribute is "en" (English) by default. 
-        
+
+        The value of the xml:lang attribute is "en" (English) by default.
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -753,15 +753,15 @@
   <xsd:complexType name="ejb-linkType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The ejb-linkType is used by ejb-link
         elements in the ejb-ref or ejb-local-ref elements to specify
         that an EJB reference is linked to enterprise bean.
-        
+
         The value of the ejb-link element must be the ejb-name of an
         enterprise bean in the same ejb-jar file or in another ejb-jar
-        file in the same Java EE application unit. 
-        
+        file in the same Java EE application unit.
+
         Alternatively, the name in the ejb-link element may be
         composed of a path name specifying the ejb-jar containing the
         referenced enterprise bean with the ejb-name of the target
@@ -770,13 +770,13 @@
         Deployment Component that is referencing the enterprise
         bean.  This allows multiple enterprise beans with the same
         ejb-name to be uniquely identified.
-        
+
         Examples:
-        
+
         <ejb-link>EmployeeRecord</ejb-link>
-        
+
         <ejb-link>../products/product.jar#ProductEJB</ejb-link>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -796,22 +796,22 @@
         the declaration of a reference to an enterprise bean's local
         home or to the local business interface of a 3.0 bean.
         The declaration consists of:
-        
+
         - an optional description
-        - the EJB reference name used in the code of the Deployment 
+        - the EJB reference name used in the code of the Deployment
         Component that's referencing the enterprise bean.
         - the optional expected type of the referenced enterprise bean
-        - the optional expected local interface of the referenced 
-        enterprise bean or the local business interface of the 
+        - the optional expected local interface of the referenced
+        enterprise bean or the local business interface of the
         referenced enterprise bean.
-        - the optional expected local home interface of the referenced 
+        - the optional expected local home interface of the referenced
         enterprise bean. Not applicable if this ejb-local-ref refers
         to the local business interface of a 3.0 bean.
-        - optional ejb-link information, used to specify the 
+        - optional ejb-link information, used to specify the
         referenced enterprise bean
-        - optional elements to define injection of the named enterprise  
+        - optional elements to define injection of the named enterprise
         bean into a component field or property.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -845,19 +845,19 @@
   <xsd:complexType name="ejb-ref-nameType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The ejb-ref-name element contains the name of an EJB
         reference. The EJB reference is an entry in the
         Deployment Component's environment and is relative to the
         java:comp/env context.  The name must be unique within the
         Deployment Component.
-        
+
         It is recommended that name is prefixed with "ejb/".
-        
+
         Example:
-        
+
         <ejb-ref-name>ejb/Payroll</ejb-ref-name>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -875,25 +875,25 @@
 
         The ejb-refType is used by ejb-ref elements for the
         declaration of a reference to an enterprise bean's home or
-        to the remote business interface of a 3.0 bean.  
+        to the remote business interface of a 3.0 bean.
         The declaration consists of:
-        
+
         - an optional description
         - the EJB reference name used in the code of
         the Deployment Component that's referencing the enterprise
-        bean. 
+        bean.
         - the optional expected type of the referenced enterprise bean
         - the optional remote interface of the referenced enterprise bean
-        or the remote business interface of the referenced enterprise 
+        or the remote business interface of the referenced enterprise
         bean
-        - the optional expected home interface of the referenced 
+        - the optional expected home interface of the referenced
         enterprise bean.  Not applicable if this ejb-ref
         refers to the remote business interface of a 3.0 bean.
         - optional ejb-link information, used to specify the
         referenced enterprise bean
         - optional elements to define injection of the named enterprise
         bean into a component field or property
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -930,13 +930,13 @@
 
         The ejb-ref-typeType contains the expected type of the
         referenced enterprise bean.
-        
+
         The ejb-ref-type designates a value
         that must be one of the following:
-        
+
         Entity
         Session
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -955,8 +955,8 @@
       <xsd:documentation>
 
         This type is used to designate an empty
-        element when used. 
-        
+        element when used.
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="id"
@@ -975,21 +975,21 @@
         description, the name of the environment entry, a type
         (optional if the value is injected, otherwise required), and
         an optional value.
-        
+
         It also includes optional elements to define injection of
         the named resource into fields or JavaBeans properties.
-        
+
         If a value is not specified and injection is requested,
         no injection will occur and no entry of the specified name
         will be created.  This allows an initial value to be
         specified in the source code without being incorrectly
         changed when no override has been specified.
-        
+
         If a value is not specified and no injection is requested,
-        a value must be supplied during deployment. 
-        
+        a value must be supplied during deployment.
+
         This type is used by env-entry elements.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -1001,19 +1001,19 @@
                    type="javaee:jndi-nameType">
         <xsd:annotation>
           <xsd:documentation>
-            <![CDATA[[
+            <![CDATA[
             The env-entry-name element contains the name of a
             Deployment Component's environment entry.  The name
             is a JNDI name relative to the java:comp/env
-            context.  The name must be unique within a 
+            context.  The name must be unique within a
             Deployment Component. The uniqueness
             constraints must be defined within the declared
             context.
-            
+
             Example:
-            
+
             <env-entry-name>minAmount</env-entry-name>
-            
+
             ]]>
           </xsd:documentation>
         </xsd:annotation>
@@ -1023,18 +1023,18 @@
                    minOccurs="0">
         <xsd:annotation>
           <xsd:documentation>
-            <![CDATA[[
+            <![CDATA[
             The env-entry-type element contains the Java language
             type of the environment entry.  If an injection target
             is specified for the environment entry, the type may
             be omitted, or must match the type of the injection
             target.  If no injection target is specified, the type
             is required.
-            
+
             Example:
-            
+
             <env-entry-type>java.lang.Integer</env-entry-type>
-            
+
             ]]>
           </xsd:documentation>
         </xsd:annotation>
@@ -1044,18 +1044,18 @@
                    minOccurs="0">
         <xsd:annotation>
           <xsd:documentation>
-            <![CDATA[[
+            <![CDATA[
             The env-entry-value designates the value of a
             Deployment Component's environment entry. The value
             must be a String that is valid for the
             constructor of the specified type that takes a
             single String parameter, or for java.lang.Character,
             a single character.
-            
+
             Example:
-            
+
             <env-entry-value>100.00</env-entry-value>
-            
+
             ]]>
           </xsd:documentation>
         </xsd:annotation>
@@ -1072,13 +1072,13 @@
   <xsd:complexType name="env-entry-type-valuesType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         This type contains the fully-qualified Java type of the
         environment entry value that is expected by the
         application's code.
-        
+
         The following are the legal values of env-entry-type-valuesType:
-        
+
         java.lang.Boolean
         java.lang.Byte
         java.lang.Character
@@ -1088,15 +1088,15 @@
         java.lang.Long
         java.lang.Float
         java.lang.Double
-        		  java.lang.Class
-        		  any enumeration type (i.e. a subclass of java.lang.Enum)
-        
+			  java.lang.Class
+			  any enumeration type (i.e. a subclass of java.lang.Enum)
+
         Examples:
-        
+
         <env-entry-type>java.lang.Boolean</env-entry-type>
         <env-entry-type>java.lang.Class</env-entry-type>
         <env-entry-type>com.example.Color</env-entry-type>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -1118,7 +1118,7 @@
         of name used in Class.forName().  Tools that need the
         canonical name (the name used in source code) will need
         to convert this binary name to the canonical name.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -1134,9 +1134,9 @@
       <xsd:documentation>
 
         This type defines four different values which can designate
-        boolean values. This includes values yes and no which are 
+        boolean values. This includes values yes and no which are
         not designated by xsd:boolean
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -1159,12 +1159,12 @@
         The icon type contains small-icon and large-icon elements
         that specify the file names for small and large GIF, JPEG,
         or PNG icon images used to represent the parent element in a
-        GUI tool. 
-        
+        GUI tool.
+
         The xml:lang attribute defines the language that the
         icon file names are provided in. Its value is "en" (English)
-        by default. 
-        
+        by default.
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -1173,19 +1173,19 @@
                    minOccurs="0">
         <xsd:annotation>
           <xsd:documentation>
-            <![CDATA[[
+            <![CDATA[
             The small-icon element contains the name of a file
             containing a small (16 x 16) icon image. The file
             name is a relative path within the Deployment
             Component's Deployment File.
-            
+
             The image may be in the GIF, JPEG, or PNG format.
             The icon can be used by tools.
-            
+
             Example:
-            
+
             <small-icon>employee-service-icon16x16.jpg</small-icon>
-            
+
             ]]>
           </xsd:documentation>
         </xsd:annotation>
@@ -1195,20 +1195,20 @@
                    minOccurs="0">
         <xsd:annotation>
           <xsd:documentation>
-            <![CDATA[[
+            <![CDATA[
             The large-icon element contains the name of a file
             containing a large
-            (32 x 32) icon image. The file name is a relative 
+            (32 x 32) icon image. The file name is a relative
             path within the Deployment Component's Deployment
             File.
-            
+
             The image may be in the GIF, JPEG, or PNG format.
             The icon can be used by tools.
-            
+
             Example:
-            
+
             <large-icon>employee-service-icon32x32.jpg</large-icon>
-            
+
             ]]>
           </xsd:documentation>
         </xsd:annotation>
@@ -1228,22 +1228,22 @@
 
         An injection target specifies a class and a name within
         that class into which a resource should be injected.
-        
+
         The injection target class specifies the fully qualified
         class name that is the target of the injection.  The
         Java EE specifications describe which classes can be an
         injection target.
-        
+
         The injection target name specifies the target within
         the specified class.  The target is first looked for as a
         JavaBeans property name.  If not found, the target is
         looked for as a field name.
-        
+
         The specified resource will be injected into the target
         during initialization of the class by either calling the
         set method for the target property or by setting a value
         into the named field.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -1258,13 +1258,13 @@
     <xsd:annotation>
       <xsd:documentation>
 
-        	The following transaction isolation levels are allowed
-        	(see documentation for the java.sql.Connection interface):
+		The following transaction isolation levels are allowed
+		(see documentation for the java.sql.Connection interface):
         TRANSACTION_READ_UNCOMMITTED
         TRANSACTION_READ_COMMITTED
         TRANSACTION_REPEATABLE_READ
         TRANSACTION_SERIALIZABLE
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:string">
@@ -1283,9 +1283,9 @@
       <xsd:documentation>
 
         The java-identifierType defines a Java identifier.
-        The users of this type should further verify that 
+        The users of this type should further verify that
         the content does not contain Java reserved keywords.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -1305,7 +1305,7 @@
         This is a generic type that designates a Java primitive
         type or a fully qualified name of a Java interface/type,
         or an array of such types.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -1321,17 +1321,17 @@
   <xsd:complexType name="jdbc-urlType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The jdbc-urlType contains the url pattern of the mapping.
         It must follow the rules specified in Section 9.3 of the
         JDBC Specification where the format is:
-        
+
         jdbc:<subprotocol>:<subname>
-        
+
         Example:
-        
+
         <url>jdbc:mysql://localhost:3307/testdb</url>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -1350,7 +1350,7 @@
       <xsd:documentation>
 
         Configuration of a JMS Connection Factory.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -1361,7 +1361,7 @@
           <xsd:documentation>
 
             Description of this JMS Connection Factory.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1372,7 +1372,7 @@
 
             The name element specifies the JNDI name of the
             JMS connection factory being defined.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1384,10 +1384,10 @@
 
             Fully-qualified name of the JMS connection factory
             interface.  Permitted values are javax.jms.ConnectionFactory,
-            javax.jms.QueueConnectionFactory, or 
+            javax.jms.QueueConnectionFactory, or
             javax.jms.TopicConnectionFactory.  If not specified,
             javax.jms.ConnectionFactory will be used.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1398,9 +1398,9 @@
           <xsd:documentation>
 
             Fully-qualified name of the JMS connection factory
-            implementation class.  Ignored if a resource adapter  
+            implementation class.  Ignored if a resource adapter
             is used.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1413,7 +1413,7 @@
             Resource adapter name.  If not specified, the application
             server will define the default behavior, which may or may
             not involve the use of a resource adapter.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1424,7 +1424,7 @@
           <xsd:documentation>
 
             User name to use for connection authentication.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1435,7 +1435,7 @@
           <xsd:documentation>
 
             Password to use for connection authentication.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1446,7 +1446,7 @@
           <xsd:documentation>
 
             Client id to use for connection.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1459,7 +1459,7 @@
 
             JMS Connection Factory property.  This may be a vendor-specific
             property or a less commonly used ConnectionFactory property.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1471,7 +1471,7 @@
 
             Set to false if connections should not participate in
             transactions.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1483,7 +1483,7 @@
 
             Maximum number of connections that should be concurrently
             allocated for a connection pool.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1495,7 +1495,7 @@
 
             Minimum number of connections that should be concurrently
             allocated for a connection pool.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1512,7 +1512,7 @@
       <xsd:documentation>
 
         Configuration of a JMS Destination.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -1523,7 +1523,7 @@
           <xsd:documentation>
 
             Description of this JMS Destination.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1534,7 +1534,7 @@
 
             The name element specifies the JNDI name of the
             JMS destination being defined.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1545,7 +1545,7 @@
 
             Fully-qualified name of the JMS destination interface.
             Permitted values are javax.jms.Queue and javax.jms.Topic
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1559,7 +1559,7 @@
             class.  Ignored if a resource adapter is used unless the
             resource adapter defines more than one destination implementation
             class for the specified interface.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1572,7 +1572,7 @@
             Resource adapter name.  If not specified, the application
             server will define the default behavior, which may or may
             not involve the use of a resource adapter.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1583,7 +1583,7 @@
           <xsd:documentation>
 
             Name of the queue or topic.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1596,7 +1596,7 @@
 
             JMS Destination property.  This may be a vendor-specific
             property or a less commonly used Destination property.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1616,7 +1616,7 @@
         Deployment Component's environment and is relative to the
         java:comp/env context.  A JNDI name must be unique within the
         Deployment Component.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -1630,14 +1630,14 @@
   <xsd:complexType name="homeType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The homeType defines the fully-qualified name of
-        an enterprise bean's home interface. 
-        
+        an enterprise bean's home interface.
+
         Example:
-        
+
         <home>com.aardvark.payroll.PayrollHome</home>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -1658,12 +1658,12 @@
         Note that each class may have only one lifecycle callback
         method for any given event and that the method may not
         be overloaded.
-        
+
         If the lifefycle-callback-class element is missing then
         the class defining the callback is assumed to be the
         component class in scope at the place in the descriptor
         in which the callback definition appears.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -1684,7 +1684,7 @@
 
         The listenerType indicates the deployment properties for a web
         application listener bean.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -1698,7 +1698,7 @@
             application must be registered as a web
             application listener bean. The value is the fully
             qualified classname of the listener class.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1716,7 +1716,7 @@
 
         The localType defines the fully-qualified name of an
         enterprise bean's local interface.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -1733,7 +1733,7 @@
 
         The local-homeType defines the fully-qualified
         name of an enterprise bean's local home interface.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -1749,7 +1749,7 @@
       <xsd:documentation>
 
         Configuration of a Mail Session resource.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -1760,7 +1760,7 @@
           <xsd:documentation>
 
             Description of this Mail Session resource.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1771,7 +1771,7 @@
 
             The name element specifies the JNDI name of the
             Mail Session resource being defined.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1782,7 +1782,7 @@
           <xsd:documentation>
 
             Storage protocol.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1793,7 +1793,7 @@
           <xsd:documentation>
 
             Service provider store protocol implementation class
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1804,7 +1804,7 @@
           <xsd:documentation>
 
             Transport protocol.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1815,7 +1815,7 @@
           <xsd:documentation>
 
             Service provider transport protocol implementation class
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1826,7 +1826,7 @@
           <xsd:documentation>
 
             Mail server host name.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1837,7 +1837,7 @@
           <xsd:documentation>
 
             Mail server user name.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1848,7 +1848,7 @@
           <xsd:documentation>
 
             Password.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1859,7 +1859,7 @@
           <xsd:documentation>
 
             Email address to indicate the message sender.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1872,7 +1872,7 @@
 
             Mail server property.  This may be a vendor-specific
             property.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1890,7 +1890,7 @@
 
         This type is a general type that can be used to declare
         parameter/value lists.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -1905,7 +1905,7 @@
 
             The param-name element contains the name of a
             parameter.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1916,7 +1916,7 @@
 
             The param-value element contains the value of a
             parameter.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1934,7 +1934,7 @@
 
         The elements that use this type designate either a relative
         path or an absolute path starting with a "/".
-        
+
         In elements that specify a pathname to a file within the
         same Deployment File, relative filenames (i.e., those not
         starting with "/") are considered relative to the root of
@@ -1943,7 +1943,7 @@
         the Deployment File's namespace.  In general, relative names
         are preferred.  The exception is .war files where absolute
         names are preferred for consistency with the Servlet API.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -1957,12 +1957,12 @@
   <xsd:complexType name="persistence-context-refType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The persistence-context-ref element contains a declaration
         of Deployment Component's reference to a persistence context
         associated within a Deployment Component's
         environment. It consists of:
-        
+
         - an optional description
         - the persistence context reference name
         - an optional persistence unit name.  If not specified,
@@ -1976,14 +1976,14 @@
         specified, Synchronized is assumed.
         - an optional list of persistence properties
         - optional injection targets
-        
+
         Examples:
-        
+
         <persistence-context-ref>
         <persistence-context-ref-name>myPersistenceContext
         </persistence-context-ref-name>
         </persistence-context-ref>
-        
+
         <persistence-context-ref>
         <persistence-context-ref-name>myPersistenceContext
         </persistence-context-ref-name>
@@ -1991,7 +1991,7 @@
         </persistence-unit-name>
         <persistence-context-type>Extended</persistence-context-type>
         </persistence-context-ref>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -2010,7 +2010,7 @@
             value is the environment entry name used in
             Deployment Component code.  The name is a JNDI name
             relative to the java:comp/env context.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2023,16 +2023,16 @@
             The Application Assembler(or BeanProvider) may use the
             following syntax to avoid the need to rename persistence
             units to have unique names within a Java EE application.
-            
+
             The Application Assembler specifies the pathname of the
             root of the persistence.xml file for the referenced
             persistence unit and appends the name of the persistence
             unit separated from the pathname by #. The pathname is
-            relative to the referencing application component jar file. 
+            relative to the referencing application component jar file.
             In this manner, multiple persistence units with the same
-            persistence unit name may be uniquely identified when the 
+            persistence unit name may be uniquely identified when the
             Application Assembler cannot change persistence unit names.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2052,11 +2052,11 @@
             Used to specify properties for the container or persistence
             provider.  Vendor-specific properties may be included in
             the set of properties.  Properties that are not recognized
-            by a vendor must be ignored.  Entries that make use of the 
+            by a vendor must be ignored.  Entries that make use of the
             namespace javax.persistence and its subnamespaces must not
             be used for vendor-specific properties.  The namespace
             javax.persistence is reserved for use by the specification.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2073,15 +2073,15 @@
     <xsd:annotation>
       <xsd:documentation>
 
-        The persistence-context-synchronizationType specifies 
+        The persistence-context-synchronizationType specifies
         whether a container-managed persistence context is automatically
         synchronized with the current transaction.
-        
-        The value of the persistence-context-synchronization element 
+
+        The value of the persistence-context-synchronization element
         must be one of the following:
         Synchronized
         Unsynchronized
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2100,13 +2100,13 @@
       <xsd:documentation>
 
         The persistence-context-typeType specifies the transactional
-        nature of a persistence context reference.  
-        
+        nature of a persistence context reference.
+
         The value of the persistence-context-type element must be
         one of the following:
         Transaction
         Extended
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2125,7 +2125,7 @@
       <xsd:documentation>
 
         Specifies a name/value pair.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -2146,32 +2146,32 @@
   <xsd:complexType name="persistence-unit-refType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The persistence-unit-ref element contains a declaration
         of Deployment Component's reference to a persistence unit
         associated within a Deployment Component's
         environment. It consists of:
-        
+
         - an optional description
         - the persistence unit reference name
         - an optional persistence unit name.  If not specified,
         the default persistence unit is assumed.
         - optional injection targets
-        
+
         Examples:
-        
+
         <persistence-unit-ref>
         <persistence-unit-ref-name>myPersistenceUnit
         </persistence-unit-ref-name>
         </persistence-unit-ref>
-        
+
         <persistence-unit-ref>
         <persistence-unit-ref-name>myPersistenceUnit
         </persistence-unit-ref-name>
         <persistence-unit-name>PersistenceUnit1
         </persistence-unit-name>
         </persistence-unit-ref>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -2190,7 +2190,7 @@
             value is the environment entry name used in
             Deployment Component code.  The name is a JNDI name
             relative to the java:comp/env context.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2203,16 +2203,16 @@
             The Application Assembler(or BeanProvider) may use the
             following syntax to avoid the need to rename persistence
             units to have unique names within a Java EE application.
-            
+
             The Application Assembler specifies the pathname of the
             root of the persistence.xml file for the referenced
             persistence unit and appends the name of the persistence
             unit separated from the pathname by #. The pathname is
-            relative to the referencing application component jar file. 
+            relative to the referencing application component jar file.
             In this manner, multiple persistence units with the same
-            persistence unit name may be uniquely identified when the 
+            persistence unit name may be uniquely identified when the
             Application Assembler cannot change persistence unit names.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2228,14 +2228,14 @@
   <xsd:complexType name="remoteType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The remote element contains the fully-qualified name
         of the enterprise bean's remote interface.
-        
+
         Example:
-        
+
         <remote>com.wombat.empl.EmployeeService</remote>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -2250,7 +2250,7 @@
   <xsd:complexType name="resource-env-refType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The resource-env-refType is used to define
         resource-env-ref elements.  It contains a declaration of a
         Deployment Component's reference to an administered object
@@ -2259,25 +2259,25 @@
         resource environment reference name, and an optional
         indication of the resource environment reference type
         expected by the Deployment Component code.
-        
+
         It also includes optional elements to define injection of
         the named resource into fields or JavaBeans properties.
-        
+
         The resource environment type must be supplied unless an
         injection target is specified, in which case the type
         of the target is used.  If both are specified, the type
         must be assignment compatible with the type of the injection
         target.
-        
+
         Example:
-        
+
         <resource-env-ref>
         <resource-env-ref-name>jms/StockQueue
         </resource-env-ref-name>
         <resource-env-ref-type>javax.jms.Queue
         </resource-env-ref-type>
         </resource-env-ref>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -2294,10 +2294,10 @@
             The resource-env-ref-name element specifies the name
             of a resource environment reference; its value is
             the environment entry name used in
-            the Deployment Component code.  The name is a JNDI 
-            name relative to the java:comp/env context and must 
+            the Deployment Component code.  The name is a JNDI
+            name relative to the java:comp/env context and must
             be unique within a Deployment Component.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2311,7 +2311,7 @@
             of a resource environment reference.  It is the
             fully qualified name of a Java language class or
             interface.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2327,7 +2327,7 @@
   <xsd:complexType name="resource-refType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The resource-refType contains a declaration of a
         Deployment Component's reference to an external resource. It
         consists of an optional description, the resource manager
@@ -2337,25 +2337,25 @@
         (Application or Container), and an optional specification of
         the shareability of connections obtained from the resource
         (Shareable or Unshareable).
-        
+
         It also includes optional elements to define injection of
         the named resource into fields or JavaBeans properties.
-        
+
         The connection factory type must be supplied unless an
         injection target is specified, in which case the type
         of the target is used.  If both are specified, the type
         must be assignment compatible with the type of the injection
         target.
-        
+
         Example:
-        
+
         <resource-ref>
         <res-ref-name>jdbc/EmployeeAppDB</res-ref-name>
         <res-type>javax.sql.DataSource</res-type>
         <res-auth>Container</res-auth>
         <res-sharing-scope>Shareable</res-sharing-scope>
         </resource-ref>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -2372,9 +2372,9 @@
             The res-ref-name element specifies the name of a
             resource manager connection factory reference.
             The name is a JNDI name relative to the
-            java:comp/env context.  
-            The name must be unique within a Deployment File. 
-            
+            java:comp/env context.
+            The name must be unique within a Deployment File.
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2388,7 +2388,7 @@
             source. The type is specified by the fully qualified
             Java language class or interface
             expected to be implemented by the data source.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2417,12 +2417,12 @@
         on behalf of the Deployment Component. In the latter case,
         the Container uses information that is supplied by the
         Deployer.
-        
+
         The value must be one of the two following:
-        
+
         Application
         Container
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2444,12 +2444,12 @@
         obtained through the given resource manager connection
         factory reference can be shared. The value, if specified,
         must be one of the two following:
-        
+
         Shareable
         Unshareable
-        
+
         The default value is Shareable.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2468,9 +2468,9 @@
       <xsd:documentation>
 
         The run-asType specifies the run-as identity to be
-        used for the execution of a component. It contains an 
+        used for the execution of a component. It contains an
         optional description, and the name of a security role.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -2493,9 +2493,9 @@
       <xsd:documentation>
 
         The role-nameType designates the name of a security role.
-        
+
         The name must conform to the lexical rules for a token.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2509,13 +2509,13 @@
   <xsd:complexType name="security-roleType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The security-roleType contains the definition of a security
         role. The definition consists of an optional description of
         the security role, and the security role name.
-        
+
         Example:
-        
+
         <security-role>
         <description>
         This role includes all employees who are authorized
@@ -2523,7 +2523,7 @@
         </description>
         <role-name>employee</role-name>
         </security-role>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -2553,7 +2553,7 @@
         code, and an optional link to a security role. If the
         security role is not specified, the Deployer must choose an
         appropriate security role.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -2567,10 +2567,10 @@
           <xsd:documentation>
 
             The value of the role-name element must be the String used
-            as the parameter to the 
+            as the parameter to the
             EJBContext.isCallerInRole(String roleName) method or the
             HttpServletRequest.isUserInRole(String role) method.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2584,7 +2584,7 @@
             security role. The role-link element must contain
             the name of one of the security roles defined in the
             security-role elements.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2601,7 +2601,7 @@
       <xsd:documentation>
 
         This type adds an "id" attribute to xsd:QName.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2620,7 +2620,7 @@
       <xsd:documentation>
 
         This type adds an "id" attribute to xsd:boolean.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2639,7 +2639,7 @@
       <xsd:documentation>
 
         This type adds an "id" attribute to xsd:NMTOKEN.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2658,7 +2658,7 @@
       <xsd:documentation>
 
         This type adds an "id" attribute to xsd:anyURI.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2677,7 +2677,7 @@
       <xsd:documentation>
 
         This type adds an "id" attribute to xsd:integer.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2696,7 +2696,7 @@
       <xsd:documentation>
 
         This type adds an "id" attribute to xsd:positiveInteger.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2715,7 +2715,7 @@
       <xsd:documentation>
 
         This type adds an "id" attribute to xsd:nonNegativeInteger.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2734,7 +2734,7 @@
       <xsd:documentation>
 
         This type adds an "id" attribute to xsd:string.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2757,7 +2757,7 @@
         require trailing/leading space elimination as well as
         collapsing the existing whitespace, this base type may be
         used.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2777,10 +2777,10 @@
 
         This simple type designates a boolean with only two
         permissible values
-        
+
         - true
         - false
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2804,7 +2804,7 @@
         If it contains those characters, the container must inform
         the developer with a descriptive error message.
         The container must preserve all characters including whitespaces.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2818,29 +2818,29 @@
   <xsd:complexType name="message-destinationType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The message-destinationType specifies a message
         destination. The logical destination described by this
         element is mapped to a physical destination by the Deployer.
-        
-        The message destination element contains: 
-        
+
+        The message destination element contains:
+
         - an optional description
         - an optional display-name
         - an optional icon
         - a message destination name which must be unique
-        among message destination names within the same 
-        Deployment File. 
+        among message destination names within the same
+        Deployment File.
         - an optional mapped name
         - an optional lookup name
-        
-        Example: 
-        
+
+        Example:
+
         <message-destination>
         <message-destination-name>CorporateStocks
         </message-destination-name>
         </message-destination>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -2855,7 +2855,7 @@
             name for a message destination.  This name must be
             unique among the names of message destinations
             within the Deployment File.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2869,19 +2869,19 @@
             should be mapped to.  Each message-destination-ref
             element that references this message destination will
             define a name in the namespace of the referencing
-            component or in one of the other predefined namespaces. 
+            component or in one of the other predefined namespaces.
             Many application servers provide a way to map these
             local names to names of resources known to the
             application server.  This mapped name is often a global
             JNDI name, but may be a name of any form.  Each of the
             local names should be mapped to this same global name.
-            
+
             Application servers are not required to support any
             particular form or type of mapped name, nor the ability
             to use mapped names.  The mapped name is
             product-dependent and often installation-dependent.  No
             use of a mapped name is portable.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2892,7 +2892,7 @@
           <xsd:documentation>
 
             The JNDI name to be looked up to resolve the message destination.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2907,30 +2907,30 @@
   <xsd:complexType name="message-destination-refType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The message-destination-ref element contains a declaration
         of Deployment Component's reference to a message destination
         associated with a resource in Deployment Component's
         environment. It consists of:
-        
+
         - an optional description
         - the message destination reference name
         - an optional message destination type
         - an optional specification as to whether
-        the destination is used for 
+        the destination is used for
         consuming or producing messages, or both.
         if not specified, "both" is assumed.
         - an optional link to the message destination
         - optional injection targets
-        
+
         The message destination type must be supplied unless an
         injection target is specified, in which case the type
         of the target is used.  If both are specified, the type
         must be assignment compatible with the type of the injection
         target.
-        
+
         Examples:
-        
+
         <message-destination-ref>
         <message-destination-ref-name>jms/StockQueue
         </message-destination-ref-name>
@@ -2941,7 +2941,7 @@
         <message-destination-link>CorporateStocks
         </message-destination-link>
         </message-destination-ref>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -2959,7 +2959,7 @@
             the name of a message destination reference; its
             value is the environment entry name used in
             Deployment Component code.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2991,13 +2991,13 @@
         destination, produced for the destination, or both.  The
         Assembler makes use of this information in linking producers
         of a destination with its consumers.
-        
+
         The value of the message-destination-usage element must be
         one of the following:
         Consumes
         Produces
         ConsumesProduces
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -3015,16 +3015,16 @@
   <xsd:complexType name="message-destination-typeType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The message-destination-typeType specifies the type of
         the destination. The type is specified by the Java interface
         expected to be implemented by the destination.
-        
-        Example: 
-        
+
+        Example:
+
         <message-destination-type>javax.jms.Queue
         </message-destination-type>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -3043,14 +3043,14 @@
         The message-destination-linkType is used to link a message
         destination reference or message-driven bean to a message
         destination.
-        
+
         The Assembler sets the value to reflect the flow of messages
         between producers and consumers in the application.
-        
+
         The value must be the message-destination-name of a message
         destination in the same Deployment File or in another
         Deployment File in the same Java EE application unit.
-        
+
         Alternatively, the value may be composed of a path name
         specifying a Deployment File containing the referenced
         message destination with the message-destination-name of the
@@ -3059,7 +3059,7 @@
         containing Deployment Component that is referencing the
         message destination.  This allows multiple message
         destinations with the same name to be uniquely identified.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -3077,13 +3077,13 @@
         The transaction-supportType specifies the level of
         transaction support provided by the resource adapter. It is
         used by transaction-support elements.
-        
+
         The value must be one of the following:
-        
+
         NoTransaction
         LocalTransaction
         XATransaction
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/javaee_web_services_1_3.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/javaee_web_services_1_3.xsd
deleted file mode 100644
index a9ed422..0000000
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/javaee_web_services_1_3.xsd
+++ /dev/null
@@ -1,575 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-            targetNamespace="http://java.sun.com/xml/ns/javaee"
-            xmlns:javaee="http://java.sun.com/xml/ns/javaee"
-            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-            elementFormDefault="qualified"
-            attributeFormDefault="unqualified"
-            version="1.3">
-  <xsd:annotation>
-    <xsd:documentation>
-
-      DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
-
-      Copyright 2003-2010 Oracle and/or its affiliates. All rights reserved.
-
-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-Other names may be trademarks of their respective owners.
-
-      The contents of this file are subject to the terms of either the
-      GNU General Public License Version 2 only ("GPL") or the Common
-      Development and Distribution License("CDDL") (collectively, the
-      "License").  You may not use this file except in compliance with
-      the License. You can obtain a copy of the License at
-      https://glassfish.dev.java.net/public/CDDL+GPL.html or
-      glassfish/bootstrap/legal/LICENSE.txt.  See the License for the
-      specific language governing permissions and limitations under the
-      License.
-
-      When distributing the software, include this License Header
-      Notice in each file and include the License file at
-      glassfish/bootstrap/legal/LICENSE.txt.  Sun designates this
-      particular file as subject to the "Classpath" exception as
-      provided by Oracle in the GPL Version 2 section of the License file
-      that accompanied this code.  If applicable, add the following
-      below the License Header, with the fields enclosed by brackets []
-      replaced by your own identifying information:
-      "Portions Copyrighted [year] [name of copyright owner]"
-
-      Contributor(s):
-
-      If you wish your version of this file to be governed by only the
-      CDDL or only the GPL Version 2, indicate your decision by adding
-      "[Contributor] elects to include this software in this
-      distribution under the [CDDL or GPL Version 2] license."  If you
-      don't indicate a single choice of license, a recipient has the
-      option to distribute your version of this file under either the
-      CDDL, the GPL Version 2 or to extend the choice of license to its
-      licensees as provided above.  However, if you add GPL Version 2
-      code and therefore, elected the GPL Version 2 license, then the
-      option applies only if the new code is made subject to such
-      option by the copyright holder.
-
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:annotation>
-    <xsd:documentation>
-
-      (C) Copyright International Business Machines Corporation 2002
-
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:annotation>
-    <xsd:documentation>
-      <![CDATA[[
-      The webservices element is the root element for the web services
-      deployment descriptor.  It specifies the set of web service
-      descriptions that are to be deployed into the Java EE Application
-      Server and the dependencies they have on container resources and
-      services.  The deployment descriptor must be named
-      "META-INF/webservices.xml" in the web services' jar file.
-
-      Used in: webservices.xml
-
-      All webservices deployment descriptors must indicate the
-      webservices schema by using the Java EE namespace:
-
-      http://java.sun.com/xml/ns/javaee
-
-      and by indicating the version of the schema by using the version
-      element as shown below:
-
-      <webservices xmlns="http://java.sun.com/xml/ns/javaee"
-      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-      	http://java.sun.com/xml/ns/javaee/javaee_web_services_1_3.xsd"
-      version="1.3">
-      ...
-      </webservices>
-
-      The instance documents may indicate the published version of the
-      schema using the xsi:schemaLocation attribute for the Java EE
-      namespace with the following location:
-      
-      http://java.sun.com/xml/ns/javaee/javaee_web_services_1_3.xsd
-      
-      ]]>
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:annotation>
-    <xsd:documentation>
-
-      The following conventions apply to all Java EE
-      deployment descriptor elements unless indicated otherwise.
-      
-      - In elements that specify a pathname to a file within the
-      same JAR file, relative filenames (i.e., those not
-      starting with "/") are considered relative to the root of
-      the JAR file's namespace.  Absolute filenames (i.e., those
-      starting with "/") also specify names in the root of the
-      JAR file's namespace.  In general, relative names are
-      preferred.  The exception is .war files where absolute
-      names are preferred for consistency with the Servlet API.
-      
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:include schemaLocation="javaee_6.xsd"/>
-
-
-<!-- **************************************************** -->
-
-  <xsd:element name="webservices"
-               type="javaee:webservicesType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The webservices element is the root element for the web services
-        deployment descriptor.  It specifies the set of web service
-        descriptions that are to be deployed into the Java EE Application Server
-        and the dependencies they have on container resources and services.
-        
-        Used in: webservices.xml
-        
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:key name="webservice-description-name-key">
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The webservice-description-name identifies the collection of
-          port-components associated with a WSDL file and JAX-RPC mapping. The
-          name must be unique within the deployment descriptor.
-          
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:selector xpath="javaee:webservice-description"/>
-      <xsd:field xpath="javaee:webservice-description-name"/>
-    </xsd:key>
-  </xsd:element>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="port-componentType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The port-component element associates a WSDL port with a web service
-        interface and implementation.  It defines the name of the port as a
-        component, optional description, optional display name, optional iconic
-        representations, WSDL port QName, Service Endpoint Interface, Service
-        Implementation Bean.
-        
-        This element also associates a WSDL service with a JAX-WS Provider
-        implementation.
-        
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description"
-                   type="javaee:descriptionType"
-                   minOccurs="0"
-                   maxOccurs="1"/>
-      <xsd:element name="display-name"
-                   type="javaee:display-nameType"
-                   minOccurs="0"
-                   maxOccurs="1"/>
-      <xsd:element name="icon"
-                   type="javaee:iconType"
-                   minOccurs="0"
-                   maxOccurs="1"/>
-      <xsd:element name="port-component-name"
-                   type="javaee:string">
-        <xsd:annotation>
-          <xsd:documentation>
-            <![CDATA[[
-            The port-component-name element specifies a port component's
-            name.  This name is assigned by the module producer to name
-            the service implementation bean in the module's deployment
-            descriptor. The name must be unique among the port component
-            names defined in the same module.
-            
-            Used in: port-component
-            
-            Example:
-            	      <port-component-name>EmployeeService
-            	      </port-component-name>
-            
-            ]]>
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="wsdl-service"
-                   type="javaee:xsdQNameType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            Defines the name space and local name part of the WSDL
-            service QName. This is required to be specified for
-            port components that are JAX-WS Provider implementations.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="wsdl-port"
-                   type="javaee:xsdQNameType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            Defines the name space and local name part of the WSDL
-            port QName. This is not required to be specified for port
-            components that are JAX-WS Provider implementations
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="enable-mtom"
-                   type="javaee:true-falseType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            Used to enable or disable SOAP MTOM/XOP mechanism for an
-            endpoint implementation.
-            
-            Not to be specified for JAX-RPC runtime
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="mtom-threshold"
-                   type="javaee:xsdNonNegativeIntegerType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            When MTOM is enabled, binary data above this size in bytes
-            will be XOP encoded or sent as attachment. Default value is 0.
-            
-            Not to be specified for JAX-RPC runtime
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="addressing"
-                   type="javaee:addressingType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            This specifies the WS-Addressing requirements for a JAX-WS
-            web service. It corresponds to javax.xml.ws.soap.Addressing
-            annotation or its feature javax.xml.ws.soap.AddressingFeature.
-            
-            See the addressingType for more information.
-            
-            Not to be specified for JAX-RPC runtime
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="respect-binding"
-                   type="javaee:respect-bindingType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            Corresponds to the javax.xml.ws.RespectBinding annotation
-            or its corresponding javax.xml.ws.RespectBindingFeature web
-            service feature. This is used to control whether a JAX-WS
-            implementation must respect/honor the contents of the
-            wsdl:binding in the WSDL that is associated with the service.
-            
-            Not to be specified for JAX-RPC runtime
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="protocol-binding"
-                   type="javaee:protocol-bindingType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            Used to specify the protocol binding used by the port-component.
-            If this element is not specified, then the default binding is
-            used (SOAP 1.1 over HTTP)
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="service-endpoint-interface"
-                   type="javaee:fully-qualified-classType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-            <![CDATA[[
-            The service-endpoint-interface element contains the
-            fully-qualified name of the port component's Service Endpoint
-            Interface.
-            
-            Used in: port-component
-            
-            Example:
-            	      <remote>com.wombat.empl.EmployeeService</remote>
-            
-            This may not be specified in case there is no Service
-            Enpoint Interface as is the case with directly using an
-            implementation class with the @WebService annotation.
-            
-            When the port component is a Provider implementation
-            this is not specified.
-            
-            ]]>
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="service-impl-bean"
-                   type="javaee:service-impl-beanType"/>
-      <xsd:choice>
-        <xsd:element name="handler"
-                     type="javaee:handlerType"
-                     minOccurs="0"
-                     maxOccurs="unbounded">
-          <xsd:annotation>
-            <xsd:documentation>
-
-              	 To be used with JAX-RPC based runtime only.
-              
-            </xsd:documentation>
-          </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="handler-chains"
-                     type="javaee:handler-chainsType"
-                     minOccurs="0"
-                     maxOccurs="1">
-          <xsd:annotation>
-            <xsd:documentation>
-
-              	 To be used with JAX-WS based runtime only.
-              
-            </xsd:documentation>
-          </xsd:annotation>
-        </xsd:element>
-      </xsd:choice>
-    </xsd:sequence>
-    <xsd:attribute name="id"
-                   type="xsd:ID"/>
-  </xsd:complexType>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="service-impl-beanType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The service-impl-bean element defines the web service implementation.
-        A service implementation can be an EJB bean class or JAX-RPC web
-        component.  Existing EJB implementations are exposed as a web service
-        using an ejb-link.
-        
-        Used in: port-component
-        
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice>
-      <xsd:element name="ejb-link"
-                   type="javaee:ejb-linkType"/>
-      <xsd:element name="servlet-link"
-                   type="javaee:servlet-linkType"/>
-    </xsd:choice>
-    <xsd:attribute name="id"
-                   type="xsd:ID"/>
-  </xsd:complexType>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="servlet-linkType">
-    <xsd:annotation>
-      <xsd:documentation>
-        <![CDATA[[
-        The servlet-link element is used in the service-impl-bean element
-        to specify that a Service Implementation Bean is defined as a
-        JAX-RPC Service Endpoint.
-        
-        The value of the servlet-link element must be the servlet-name of
-        a JAX-RPC Service Endpoint in the same WAR file.
-        
-        Used in: service-impl-bean
-        
-        Example:
-        	  <servlet-link>StockQuoteService</servlet-link>
-        
-        ]]>
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:simpleContent>
-      <xsd:restriction base="javaee:string"/>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="webservice-descriptionType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The webservice-description element defines a WSDL document file
-        and the set of Port components associated with the WSDL ports
-        defined in the WSDL document.  There may be multiple
-        webservice-descriptions defined within a module.
-        
-        All WSDL file ports must have a corresponding port-component element
-        defined.
-        
-        Used in: webservices
-        
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description"
-                   type="javaee:descriptionType"
-                   minOccurs="0"
-                   maxOccurs="1"/>
-      <xsd:element name="display-name"
-                   type="javaee:display-nameType"
-                   minOccurs="0"
-                   maxOccurs="1"/>
-      <xsd:element name="icon"
-                   type="javaee:iconType"
-                   minOccurs="0"
-                   maxOccurs="1"/>
-      <xsd:element name="webservice-description-name"
-                   type="javaee:string">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The webservice-description-name identifies the collection of
-            port-components associated with a WSDL file and JAX-RPC
-            mapping. The name must be unique within the deployment descriptor.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="wsdl-file"
-                   type="javaee:pathType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The wsdl-file element contains the name of a WSDL file in the
-            module.  The file name is a relative path within the module.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="jaxrpc-mapping-file"
-                   type="javaee:pathType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The jaxrpc-mapping-file element contains the name of a file that
-            describes the JAX-RPC mapping between the Java interaces used by
-            the application and the WSDL description in the wsdl-file.  The
-            file name is a relative path within the module.
-            
-            This is not required when JAX-WS based runtime is used.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="port-component"
-                   type="javaee:port-componentType"
-                   minOccurs="1"
-                   maxOccurs="unbounded">
-        <xsd:key name="port-component_handler-name-key">
-          <xsd:annotation>
-            <xsd:documentation>
-
-              Defines the name of the handler. The name must be unique
-              within the module.
-              
-            </xsd:documentation>
-          </xsd:annotation>
-          <xsd:selector xpath="javaee:handler"/>
-          <xsd:field xpath="javaee:handler-name"/>
-        </xsd:key>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="id"
-                   type="xsd:ID"/>
-  </xsd:complexType>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="webservicesType">
-    <xsd:sequence>
-      <xsd:group ref="javaee:descriptionGroup"/>
-      <xsd:element name="webservice-description"
-                   type="javaee:webservice-descriptionType"
-                   minOccurs="1"
-                   maxOccurs="unbounded">
-        <xsd:key name="port-component-name-key">
-          <xsd:annotation>
-            <xsd:documentation>
-              <![CDATA[[
-              	The port-component-name element specifies a port
-              	component's name.  This name is assigned by the module
-              	producer to name the service implementation bean in the
-              	module's deployment descriptor. The name must be unique
-              	among the port component names defined in the same module.
-              
-              	Used in: port-component
-              
-              	Example:
-              		<port-component-name>EmployeeService
-              		</port-component-name>
-              
-              	
-              
-              ]]>
-            </xsd:documentation>
-          </xsd:annotation>
-          <xsd:selector xpath="javaee:port-component"/>
-          <xsd:field xpath="javaee:port-component-name"/>
-        </xsd:key>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="version"
-                   type="javaee:dewey-versionType"
-                   fixed="1.3"
-                   use="required">
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The required value for the version is 1.3.
-          
-        </xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-    <xsd:attribute name="id"
-                   type="xsd:ID"/>
-  </xsd:complexType>
-
-</xsd:schema>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-app_4_0_1.dtd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-app_4_0_1.dtd
new file mode 100644
index 0000000..c3876d2
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-app_4_0_1.dtd
@@ -0,0 +1,160 @@
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2019, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed 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.
+-->
+
+<!-- The JBoss 4.x specific elements for ears.
+
+DOCTYPE jboss-app
+    PUBLIC "-//JBoss//DTD J2EE Application 1.4//EN"
+    "http://www.jboss.org/dtd/jbossas/jboss-app_4_0_1.dtd"
+-->
+
+<!-- The jboss-app element is the root element.
+-->
+<!ELEMENT jboss-app (module-order?,security-domain?, unauthenticated-principal?,
+ loader-repository?, jmx-name?, module*, security-role*)>
+
+<!--
+ The value of the module-order could be implicit or strict
+ <module-order>strict</module-order>
+ 	or 
+ <module-order>implicit</module-order>
+ The strict value indicates that the deployments of the modules will 
+ be done in the order that would be specified in the application.xml 
+ and jboss-app.xml file . 
+ The implicit value indicates the deployment would follow the order 
+ which would be specified in the DeploymentSorter.
+ The default order will be implicit to support backward compatibility
+--> 
+<!ELEMENT module-order (#PCDATA)>
+
+<!--
+  The security-domain element specifies the JNDI name of the security
+  manager that implements the EJBSecurityManager and RealmMapping for
+  the domain. When specified at the jboss level it specifies the security
+  domain for all j2ee components in the deployment unit.
+  One can override the global security-domain at the container
+  level using the security-domain element at the container-configuration
+  level.
+
+  Used in: jboss-app
+-->
+<!ELEMENT security-domain (#PCDATA)>
+
+<!--
+  The unauthenticated-principal element specifies the name of the principal
+  that will be returned by the EJBContext.getCallerPrincipal() method if there
+  is no authenticated user. This Principal has no roles or privaledges to call
+  any other beans.
+-->
+<!ELEMENT unauthenticated-principal (#PCDATA)>
+
+<!-- The loader-repository specifies the name of the UnifiedLoaderRepository
+   MBean to use for the ear to provide ear level scoping of classes deployed
+   in the ear. It is a unique JMX ObjectName string. It may also specify
+   an arbitrary configuration by including a loader-repository-config element.
+
+Examples:
+   <loader-repository>jboss.test:loader=cts-cmp2v1-sar.ear</loader-repository>
+
+   <loader-repository loaderRepositoryClass='dot.com.LoaderRepository'>
+      dot.com:loader=unique-archive-name
+      <loader-repository-config configParserClass='dot.com.LoaderParser'>
+         java2ParentDelegaton=true
+      </loader-repository-config>
+   </loader-repository>
+-->
+<!ELEMENT loader-repository (#PCDATA | loader-repository-config)*>
+<!-- The loaderRepositoryClass attribute gives the classname of the
+org.jboss.mx.loading.LoaderRepository implementation.
+-->
+<!ATTLIST loader-repository loaderRepositoryClass CDATA #IMPLIED>
+
+<!-- The loader-repository-config element specifies any arbitrary configuration
+fragment for use in configuring the loader-repository instance. The actual
+content of this element is specific to the loaderRepositoryClass and the
+code parsing the element.
+-->
+<!ELEMENT loader-repository-config (#PCDATA)>
+<!-- The configParserClass attribute gives the classname of the
+org.jboss.mx.loading.LoaderRepositoryFactory.LoaderRepositoryConfigParser
+implementation to use to parse the loader-repository-config content.
+-->
+<!ATTLIST loader-repository-config configParserClass CDATA #IMPLIED>
+
+<!-- The jmx-name element allows one to specify the JMX ObjectName to use
+for the MBean associated with the ejb-jar module. This must be a unique
+name and valid JMX ObjectName string.
+
+   Used in: jboss-app
+-->
+<!ELEMENT jmx-name (#PCDATA)>
+
+<!-- The module element is used to specify a jboss specific module archive.
+-->
+<!ELEMENT module (service | har)>
+<!-- Allow the module to have a unique id -->
+<!ATTLIST module id ID #IMPLIED>
+
+<!-- The service element specifies a service archive (SAR) to deploy.
+
+Example:
+   <module>
+      <service>external.sar</service>
+   </module>
+-->
+<!ELEMENT service (#PCDATA)>
+
+<!-- The har element specifies a Hibernate archive (HAR) to deploy.
+
+Example:
+   <module>
+      <har>myapp.har</har>
+   </module>
+-->
+<!ELEMENT har (#PCDATA)>
+
+<!--
+  The security-role element contains the definition of a security role.
+  The definition consists of an the security role name and principal name element(s).
+
+Used in: jboss-app
+
+Example:
+		<security-role>
+      <role-name>Manager</role-name>
+      <principal-name>j2ee</principal-name>
+      <principal-name>javajoe</principal-name>
+		</security-role>
+-->
+<!ELEMENT security-role (role-name, principal-name+)>
+
+<!--
+  The role-name element is the name of the role.
+
+  Used in: security-role
+-->
+<!ELEMENT role-name (#PCDATA)>
+
+<!--
+  The principal-name element is the name of the principal that is mapped
+  to the assembly role-name.
+
+  Used in: security-role
+-->
+<!ELEMENT principal-name (#PCDATA)>
+
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-as-messaging-deployment_1_0_1.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-as-messaging-deployment_1_0_1.xsd
new file mode 100644
index 0000000..4fc9a7a
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-as-messaging-deployment_1_0_1.xsd
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2011, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed 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 xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           xmlns="urn:jboss:messaging-deployment:1.0.1"
+           targetNamespace="urn:jboss:messaging-deployment:1.0.1"
+           elementFormDefault="qualified"
+           attributeFormDefault="unqualified"
+           version="1.0.1">
+
+    <xs:element name="messaging-deployment">
+        <xs:annotation>
+            <xs:documentation>
+                <![CDATA[
+                The configuration of a messaging deployment
+            ]]>
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element maxOccurs="unbounded" minOccurs="0" name="hornetq-server" type="hornetq-serverType"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+
+    <xs:complexType name="hornetq-serverType">
+        <xs:annotation>
+            <xs:documentation>
+                <![CDATA[
+                The configuration of entries for a HornetQ server.
+            ]]>
+            </xs:documentation>
+        </xs:annotation>
+        <xs:all>
+            <xs:element maxOccurs="1" minOccurs="0" name="jms-destinations">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element name="jms-queue" maxOccurs="unbounded" minOccurs="0" type="jmsQueueType"/>
+                        <xs:element name="jms-topic" maxOccurs="unbounded" minOccurs="0" type="jmsTopicType"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+        </xs:all>
+        <xs:attribute name="name" type="xs:string" use="optional" default="default">
+            <xs:annotation>
+                <xs:documentation>
+                    The name to use for this HornetQ Server. Must correspond to a HornetQ server installed in
+                    the main configuration.
+                </xs:documentation>
+            </xs:annotation>
+        </xs:attribute>
+    </xs:complexType>
+
+    <xs:complexType name="entryType">
+        <xs:attribute name="name" type="xs:string" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="jmsQueueType">
+        <xs:sequence>
+            <xs:element name="entry" type="entryType" maxOccurs="unbounded" minOccurs="1"/>
+            <xs:element name="selector" maxOccurs="1" minOccurs="0">
+                <xs:complexType>
+                    <xs:attribute name="string" type="xs:string" use="required"/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="durable" type="xs:boolean" maxOccurs="1" minOccurs="0"/>
+        </xs:sequence>
+        <xs:attribute name="name" type="xs:string" use="required"/>
+    </xs:complexType>
+
+    <xs:complexType name="jmsTopicType">
+        <xs:sequence>
+            <xs:element name="entry" type="entryType" maxOccurs="unbounded" minOccurs="1"/>
+        </xs:sequence>
+        <xs:attribute name="name" type="xs:string" use="required"/>
+    </xs:complexType>
+
+    <xs:complexType name="transactionType">
+        <xs:attribute name="mode" use="required" type="modeType"/>
+    </xs:complexType>
+
+    <xs:simpleType name="modeType">
+        <xs:restriction base="xs:token">
+            <xs:enumeration value="xa">
+                <xs:annotation>
+                    <xs:documentation></xs:documentation>
+                </xs:annotation>
+            </xs:enumeration>
+            <xs:enumeration value="local">
+                <xs:annotation>
+                    <xs:documentation></xs:documentation>
+                </xs:annotation>
+            </xs:enumeration>
+            <xs:enumeration value="none">
+                <xs:annotation>
+                    <xs:documentation></xs:documentation>
+                </xs:annotation>
+            </xs:enumeration>
+        </xs:restriction>
+    </xs:simpleType>
+
+</xs:schema>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-client_4_0_1.dtd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-client_4_0_1.dtd
new file mode 100644
index 0000000..6a9227e
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-client_4_0_1.dtd
@@ -0,0 +1,142 @@
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2019, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed 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.
+-->
+
+<!-- The JBoss specific elements used to deploy an application client.
+This version applies to the JBoss 4.x releases and the
+j2ee-1.4 application-client_1_4.xsd.
+
+
+   <!DOCTYPE jboss-client PUBLIC
+       "-//JBoss//DTD Application Client 4.0//EN"
+       "http://www.jboss.org/j2ee/dtd/jboss-client_4_0_1.dtd">
+-->
+
+<!ENTITY % service-ref PUBLIC
+   "-//JBoss//DTD Web Service Reference 4.0//EN"
+   "http://www.jboss.org/j2ee/dtd/service-ref_4_0_1.dtd">
+  
+%service-ref;
+
+<!-- The jboss-client element is the root element.
+-->
+<!ELEMENT jboss-client (jndi-name, ejb-ref*, service-ref*, resource-ref*,
+ resource-env-ref*)>
+
+<!-- The required jndi-name element specifies the JNDI name of a deployed
+object. It is used in two different contexts:
+
+1. In jboss-client to specify the location in JNDI on the server side which
+contains the ObjectFactory which handles the java:comp/env enterprise naming
+context (ENC) on the client. The application client code maps its ENC to the
+approriate client jar deployment jboss-client/jndi-name value by specifying this
+location via the j2ee.clientName IntialContext environment property, or as a
+system property. The prototype code for creating the client side InitialContext
+is:
+
+      Properties env = new Properties();
+      env.setProperty(Context.INITIAL_CONTEXT_FACTORY,
+         "org.jnp.interfaces.NamingContextFactory");
+      env.setProperty(Context.URL_PKG_PREFIXES, "org.jboss.naming.client");
+      env.setProperty(Context.PROVIDER_URL, "jnp://somehost:1099");
+      env.setProperty("j2ee.clientName", "test-client");
+      InitialContext ctx = new InitialContext(env);
+      Context enc = (Context) ctx.lookup("java:comp/env");
+
+2. In resource-ref, resource-env-ref, ejb-ref to specify the the actual server
+side binding location of the target the client ENC binding will link to via a
+JNDI LinkRef.
+
+Used in: jboss-client, resource-ref, resource-env-ref, ejb-ref
+-->
+<!ELEMENT jndi-name (#PCDATA)>
+
+<!-- The ejb-ref element maps from the servlet ENC relative name
+of the ejb reference to the deployment environment JNDI name of
+the bean.
+Example:
+    <ejb-ref>
+        <ejb-ref-name>ejb/Bean0</ejb-ref-name>
+        <jndi-name>deployed/ejbs/Bean0</jndi-name>
+    </ejb-ref>
+-->
+<!ELEMENT ejb-ref (ejb-ref-name , jndi-name)>
+
+<!-- The ejb-ref-name element gives the ENC relative name used
+in the client code.
+
+Used in: ejb-ref
+-->
+<!ELEMENT ejb-ref-name (#PCDATA)>
+
+<!--The resource-ref element maps from the client ENC relative name
+of the resource-ref to the deployment environment JNDI name of
+the resource manager connection factory.
+Example:
+    <resource-ref>
+        <res-ref-name>jdbc/TheDataSource</res-ref-name>
+        <jndi-name>java:/DefaultDS</jndi-name>
+    </resource-ref>
+
+    <resource-ref>
+        <res-ref-name>url/XYZHome</res-ref-name>
+        <res-url>http://x.y.z</res-url>
+    </resource-ref>
+-->
+<!ELEMENT resource-ref (res-ref-name , (jndi-name | res-url))>
+
+<!-- The res-ref-name specifies the name of the application-client.xml
+res-ref-name element to which this mapping applies.
+-->
+<!ELEMENT res-ref-name (#PCDATA)>
+
+<!--The resource-env-ref element maps from the servlet ENC relative name
+of the resource-env-ref to the deployment environment JNDI name of
+the administered object resource.
+Example:
+    <resource-env-ref>
+        <resource-env-ref-name>jms/NewsTopic</resource-env-ref-name>
+        <jndi-name>topic/NewsTopic</jndi-name>
+    </resource-env-ref>
+-->
+<!ELEMENT resource-env-ref (resource-env-ref-name , jndi-name)>
+
+<!-- The resource-env-ref-name specifies the name of the application-client.xml
+resource-env-ref-name element to which this mapping applies.
+-->
+<!ELEMENT resource-env-ref-name (#PCDATA)>
+
+<!-- The res-url element value is a URL string for a resource-ref of
+res-type = java.net.URL. Using a res-url creates a binding of the URL
+instance under the java:comp/env. If you want to link to another binding
+of a URL, you can use the jndi-name to do so.
+
+// Binds the URL(http://x.y.z) under java:comp/env/jdbc/XYZHome
+<resource-ref>
+    <res-ref-name>jdbc/XYZHome</res-ref-name>
+    <res-url>http://x.y.z</res-url>
+</resource-ref>
+// Binds a link to urls/XYZHomePage under java:comp/env/jdbc/XYZHome
+<resource-ref>
+    <res-ref-name>jdbc/XYZHome</res-ref-name>
+    <res-url>urls/XYZHomePage</res-url>
+</resource-ref>
+
+   Used in: resource-ref
+-->
+<!ELEMENT res-url (#PCDATA)>
+
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-common_6_0_1.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-common_6_0_1.xsd
new file mode 100644
index 0000000..7fddddc
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-common_6_0_1.xsd
@@ -0,0 +1,587 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2005, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed 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.
+-->
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+            targetNamespace="http://www.jboss.com/xml/ns/javaee"
+            xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+            xmlns:jboss="http://www.jboss.com/xml/ns/javaee"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+            elementFormDefault="qualified" 
+            attributeFormDefault="unqualified"
+            version="6.0.1">
+
+   <xsd:annotation>
+      <xsd:documentation> JBoss, Home of Professional Open Source, Copyright 2005, Red Hat, Inc., and individual 
+          contributors as indicated by the @authors tag. Licensed 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.
+      </xsd:documentation>
+   </xsd:annotation>
+
+   <xsd:annotation>
+      <xsd:documentation>
+         <![CDATA[
+
+	This XML Schema defines types, elements and model groups that common to all application-specific JBoss schemas.
+        The target namespace is
+
+	http://www.jboss.com/xml/ns/javaee
+
+        Online URL http://www.jboss.org/schema/jbossas/jboss-common_6_0_1.xsd
+	]]>
+      </xsd:documentation>
+   </xsd:annotation>
+
+   <xsd:annotation>
+      <xsd:documentation> The following conventions apply to all Java EE deployment descriptor
+         elements unless indicated otherwise. - In elements that specify a pathname to a file within
+         the same JAR file, relative filenames (i.e., those not starting with "/") are considered
+         relative to the root of the JAR file's namespace. Absolute filenames (i.e., those starting
+         with "/") also specify names in the root of the JAR file's namespace. In general, relative
+         names are preferred. The exception is .war files where absolute names are preferred for
+         consistency with the Servlet API. </xsd:documentation>
+   </xsd:annotation>
+
+   <xsd:import namespace="http://java.sun.com/xml/ns/javaee" schemaLocation="http://java.sun.com/xml/ns/javaee/javaee_6.xsd"/>
+
+   <xsd:group name="descriptionGroup">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="display-name" type="javaee:display-nameType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="icon" type="javaee:iconType" minOccurs="0" maxOccurs="unbounded" />
+      </xsd:sequence>
+   </xsd:group>
+
+   <xsd:group name="jndiEnvironmentRefsGroup">
+      <xsd:sequence>
+         <xsd:element name="env-entry" type="jboss:env-entryType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="ejb-ref" type="jboss:ejb-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="ejb-local-ref" type="jboss:ejb-local-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:group ref="jboss:service-refGroup" />
+         <xsd:element name="resource-ref" type="jboss:resource-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="resource-env-ref" type="jboss:resource-env-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="message-destination-ref" type="jboss:message-destination-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="persistence-context-ref" type="jboss:persistence-context-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="persistence-unit-ref" type="jboss:persistence-unit-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="post-construct" type="jboss:lifecycle-callbackType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="pre-destroy" type="jboss:lifecycle-callbackType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="data-source" type="jboss:data-sourceType" minOccurs="0" maxOccurs="unbounded" />
+      </xsd:sequence>
+   </xsd:group>
+
+   <xsd:complexType name="env-entryType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="env-entry-name" type="javaee:jndi-nameType" />
+         <xsd:element name="env-entry-type" type="javaee:env-entry-type-valuesType" minOccurs="0" />
+         <xsd:element name="env-entry-value" type="javaee:xsdStringType" minOccurs="0" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+   <xsd:complexType name="injection-targetType">
+      <xsd:sequence>
+         <xsd:element name="injection-target-class" type="javaee:fully-qualified-classType" />
+         <xsd:element name="injection-target-name" type="javaee:java-identifierType" />
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="lifecycle-callbackType">
+      <xsd:sequence>
+         <xsd:element name="lifecycle-callback-class" type="javaee:fully-qualified-classType" minOccurs="0" />
+         <xsd:element name="lifecycle-callback-method" type="javaee:java-identifierType" />
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="message-destination-refType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="message-destination-ref-name" type="javaee:jndi-nameType"/>
+         <xsd:element name="message-destination-type" type="javaee:message-destination-typeType" minOccurs="0" />
+         <xsd:element name="message-destination-usage" type="javaee:message-destination-usageType" minOccurs="0" />
+         <xsd:element name="message-destination-link" type="javaee:message-destination-linkType" minOccurs="0" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+   <!-- Bring persistence-context-refType info jboss namespace -->
+   <xsd:complexType name="persistence-context-refType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="persistence-context-ref-name" type="javaee:jndi-nameType" />
+         <xsd:element name="persistence-unit-name" type="javaee:string" minOccurs="0" />
+         <xsd:element name="persistence-context-type" type="javaee:persistence-context-typeType" minOccurs="0" />
+         <xsd:element name="persistence-property" type="javaee:propertyType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+   <xsd:complexType name="persistence-unit-refType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="persistence-unit-ref-name" type="javaee:jndi-nameType" />
+         <xsd:element name="persistence-unit-name" type="javaee:string" minOccurs="0" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+   <xsd:complexType name="resource-env-refType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="resource-env-ref-name" type="javaee:jndi-nameType" />
+         <xsd:element name="resource-env-ref-type" type="javaee:fully-qualified-classType" minOccurs="0" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+  <xsd:complexType name="data-sourceType">
+    <xsd:sequence>
+      <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" />
+      <xsd:element name="name" type="javaee:jndi-nameType" />
+      <xsd:element name="class-name" type="javaee:fully-qualified-classType" minOccurs="0" />
+      <xsd:element name="server-name" type="javaee:string" minOccurs="0" />
+      <xsd:element name="port-number" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="database-name" type="javaee:string" minOccurs="0" />
+      <xsd:element name="url" type="javaee:jdbc-urlType" minOccurs="0" />
+      <xsd:element name="user" type="javaee:string" minOccurs="0" />
+      <xsd:element name="password" type="javaee:string" minOccurs="0" />
+      <xsd:element name="property" type="javaee:propertyType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="login-timeout" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="transactional" type="javaee:xsdBooleanType" minOccurs="0" />
+      <xsd:element name="isolation-level" type="javaee:isolation-levelType" minOccurs="0" />
+      <xsd:element name="initial-pool-size" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="max-pool-size" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="min-pool-size" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="max-idle-time" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="max-statements" type="javaee:xsdIntegerType" minOccurs="0" />
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:group name="resourceGroup">
+      <xsd:sequence>
+         <!-- In jboss xml we allow the use of jndi-name instead of mapped-name -->
+         <xsd:choice minOccurs="0">
+            <xsd:element name="jndi-name" type="javaee:jndi-nameType"/>
+            <xsd:element name="mapped-name" type="javaee:xsdStringType"/>
+         </xsd:choice>
+         <xsd:element name="injection-target" type="jboss:injection-targetType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="ignore-dependency" type="javaee:emptyType" minOccurs="0"/>
+      </xsd:sequence>
+   </xsd:group>
+
+   <xsd:group name="service-refGroup">
+      <xsd:sequence>
+         <xsd:element name="service-ref" type="jboss:service-refType" minOccurs="0" maxOccurs="unbounded">
+            <xsd:key name="service-ref_handler-name-key">
+               <xsd:selector xpath="javaee:handler" />
+               <xsd:field xpath="javaee:handler-name" />
+            </xsd:key>
+         </xsd:element>
+      </xsd:sequence>
+   </xsd:group>
+
+  <xsd:complexType name="jndi-binding-policyType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  The jndiBindingPolicyType defines the fully-qualified name of
+	  a class that implements the JNDI binding policy.
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:fully-qualified-classType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+   <xsd:complexType name="jmx-nameType">
+      <xsd:annotation>
+         <xsd:documentation> The jmx-name element allows one to specify the JMX ObjectName to use for
+            the MBean associated with the ejb-jar module. This must be a unique name and valid JMX
+            ObjectName string. </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="security-domainType">
+      <xsd:annotation>
+         <xsd:documentation> The security-domain element specifies the JNDI name of the security
+            manager that implements the EJBSecurityManager and RealmMapping for the domain. When
+            specified at the jboss level it specifies the security domain for all j2ee components in the
+            deployment unit. One can override the global security-domain at the container level using
+            the security-domain element at the container-configuration level. </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="security-roleType">
+      <xsd:annotation>
+         <xsd:documentation> The security-role element contains the definition of a security role.
+            The definition consists of an the security role name and principal name element(s). </xsd:documentation>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element name="description"
+            type="javaee:descriptionType"
+            minOccurs="0"
+            maxOccurs="unbounded"/>
+         <xsd:element name="role-name"
+            type="javaee:role-nameType"/>
+         <xsd:element name="principal-name" type="jboss:principal-nameType" maxOccurs="unbounded"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="principal-nameType">
+      <xsd:annotation>
+         <xsd:documentation> The principal-name element is the name of the principal that is mapped
+            to the assembly role-name. </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="dependsType">
+      <xsd:annotation>
+         <xsd:documentation> The depends element gives a JMX ObjectName of a service on which the
+            container or ejb depends. (default) </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="local-jndi-nameType">
+      <xsd:annotation>
+         <xsd:documentation> The JNDI name under with the local interface should be bound. If it is not
+            provided jboss will assume "jndi-name" = "beanClass/local" </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="ejb-refType">
+      <xsd:annotation>
+         <xsd:documentation> The ejb-ref element is used to give the jndi-name of an external ejb
+            reference. In the case of an external ejb reference, you don't provide a ejb-link element in
+            ejb-jar.xml, but you provide a jndi-name in jboss.xml Used in: entity, session,
+            message-driven, consumer, and service </xsd:documentation>
+      </xsd:annotation>
+      
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="ejb-ref-name" type="javaee:ejb-ref-nameType" minOccurs="0"/>
+         <xsd:element name="ejb-ref-type" type="javaee:ejb-ref-typeType" minOccurs="0"/>
+         <xsd:element name="home" type="javaee:homeType" minOccurs="0"/>
+         <xsd:element name="remote" type="javaee:remoteType" minOccurs="0"/>
+         <xsd:element name="ejb-link" type="javaee:ejb-linkType" minOccurs="0"/>
+         <xsd:group ref="jboss:resourceGroup"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+      
+      <!-- 
+      <xsd:complexContent>
+         <xsd:extension base="javaee:ejb-refType">
+            <xsd:sequence>
+               <xsd:element name="jndi-name" type="javaee:jndi-nameType" minOccurs="0"/>
+               <xsd:element name="ignore-dependency" type="javaee:emptyType" minOccurs="0"/>
+            </xsd:sequence>
+         </xsd:extension>
+      </xsd:complexContent>
+      -->
+   </xsd:complexType>
+
+   <xsd:complexType name="ejb-local-refType">
+      <xsd:annotation>
+         <xsd:documentation> The ejb-local-ref element is used to give the jndi-name of an external ejb
+            reference. In the case of an external ejb reference, you don't provide a ejb-link element in
+            ejb-jar.xml, but you provide a jndi-name in jboss.xml </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="ejb-ref-name" type="javaee:ejb-ref-nameType" minOccurs="0"/>
+         <xsd:element name="ejb-ref-type" type="javaee:ejb-ref-typeType" minOccurs="0"/>
+         <xsd:element name="local-home" type="javaee:local-homeType" minOccurs="0"/>
+         <xsd:element name="local" type="javaee:localType" minOccurs="0"/>
+         <xsd:element name="ejb-link" type="javaee:ejb-linkType" minOccurs="0"/>
+         <xsd:element name="local-jndi-name" type="javaee:jndi-nameType" minOccurs="0"/>
+         <xsd:group ref="jboss:resourceGroup"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="resource-refType">
+      <xsd:annotation>
+         <xsd:documentation> The resource-ref element gives a mapping between the "code name" of a
+            resource (res-ref-name, provided by the Bean Developer) and its "xml name" (resource-name,
+            provided by the Application Assembler). If no resource-ref is provided, jboss will assume
+            that "xml-name" = "code name" See resource-managers. </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="res-ref-name" type="javaee:jndi-nameType" minOccurs="0">
+            <xsd:annotation>
+               <xsd:documentation> The res-ref-name element specifies the name of a resource manager
+                  connection factory reference. The name is a JNDI name relative to the java:comp/env
+                  context. The name must be unique within a Deployment File. </xsd:documentation>
+            </xsd:annotation>
+         </xsd:element>
+
+         <xsd:element name="res-type" type="javaee:fully-qualified-classType" minOccurs="0">
+            <xsd:annotation>
+               <xsd:documentation> The res-type element specifies the type of the data source. The type
+                  is specified by the fully qualified Java language class or interface expected to be
+                  implemented by the data source. </xsd:documentation>
+            </xsd:annotation>
+         </xsd:element>
+
+         <xsd:element name="res-auth" type="javaee:res-authType" minOccurs="0"/>
+
+         <xsd:element name="res-sharing-scope" type="javaee:res-sharing-scopeType" minOccurs="0"/>
+
+         <!-- We redefine part of the resourceGroup here, so we can't ref it -->
+         <xsd:choice>
+            <xsd:element name="resource-name" type="javaee:xsdStringType"/>
+            <xsd:element name="jndi-name" type="javaee:xsdStringType"/>
+            <xsd:element name="mapped-name" type="javaee:xsdStringType"/>
+            <xsd:element name="res-url" type="javaee:xsdStringType"/>
+         </xsd:choice>
+
+         <xsd:element name="injection-target" type="jboss:injection-targetType" minOccurs="0" maxOccurs="unbounded" />
+         
+         <xsd:element name="ignore-dependency" type="javaee:emptyType" minOccurs="0"/>
+
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="service-ref-nameType">
+      <xsd:annotation>
+         <xsd:documentation> The service-ref-name element gives the ENC relative name used in the
+            ejb-jar.xml service-ref-name element. </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="loader-repositoryType" mixed="true">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+      The loader-repository specifies the name of the UnifiedLoaderRepository
+   MBean to use for the ear to provide ear level scoping of classes deployed
+   in the ear. It is a unique JMX ObjectName string. It may also specify
+   an arbitrary configuration by including a loader-repository-config element.
+
+Examples:
+   <loader-repository>jboss.test:loader=cts-cmp2v1-sar.ear</loader-repository>
+
+   <loader-repository loaderRepositoryClass='dot.com.LoaderRepository'>
+      dot.com:loader=unique-archive-name
+      <loader-repository-config configParserClass='dot.com.LoaderParser'>
+         java2ParentDelegaton=true
+      </loader-repository-config>
+   </loader-repository>
+        </loader-repository>
+        ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="loader-repository-config" type="jboss:loader-repository-configType"
+                      minOccurs="0" maxOccurs="unbounded"/>
+
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+      <xsd:attribute name="loaderRepositoryClass" type="xsd:string"/>
+   </xsd:complexType>
+
+   <!-- **************************************************** -->
+
+   <xsd:complexType name="loader-repository-configType" mixed="true">
+      <xsd:annotation>
+         <xsd:documentation> The loader-repository-config element specifies any arbitrary configuration
+            fragment for use in configuring the loader-repository instance. The actual content of this
+            element is specific to the loaderRepositoryClass and the code parsing the element.
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:attribute name="id" type="xsd:ID"/>
+      <xsd:attribute name="configParserClass" type="xsd:string"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="service-refType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[     
+  Runtime settings for a web service reference. In the simplest case,
+  there is no runtime information required for a service ref.  Runtime info
+  is only needed in the following cases :
+
+  * to define the port that should be used to resolve a container-managed port
+  * to define default Stub property settings for Stub objects
+  * to define the URL of a final WSDL document to be used
+
+  Example:
+
+  <service-ref>
+   <service-ref-name>OrganizationService</service-ref-name>
+   <wsdl-override>file:/wsdlRepository/organization-service.wsdl</wsdl-override>
+  </service-ref>
+
+  <service-ref>
+   <service-ref-name>OrganizationService</service-ref-name>
+   <config-name>Secure Client Config</config-name>
+   <config-file>META-INF/jbossws-client-config.xml</config-file>
+   <handler-chain>META-INF/jbossws-client-handlers.xml</handler-chain>
+  </service-ref>
+
+  <service-ref>
+   <service-ref-name>SecureService</service-ref-name>
+   <service-impl-class>org.jboss.tests.ws.jaxws.webserviceref.SecureEndpointService</service-impl-class>
+   <service-qname>{http://org.jboss.ws/wsref}SecureEndpointService</service-qname>
+    <port-component-ref>
+     <service-endpoint-interface>org.jboss.tests.ws.jaxws.webserviceref.SecureEndpoint</service-endpoint-interface>
+     <port-qname>{http://org.jboss.ws/wsref}SecureEndpointPort</port-qname>
+     <stub-property>
+      <name>javax.xml.ws.security.auth.username</name>
+      <value>kermit</value>
+     </stub-property>
+     <stub-property>
+      <name>javax.xml.ws.security.auth.password</name>
+      <value>thefrog</value>
+     </stub-property>
+   </port-component-ref>
+  </service-ref>
+    ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="service-ref-name" type="xsd:string"/>
+         <xsd:element name="service-impl-class" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="service-qname" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="config-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="config-file" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="handler-chain" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="port-component-ref" type="jboss:port-component-refType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="wsdl-override" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <!--
+     Information for a port within a service-ref.
+
+     Either service-endpoint-interface or wsdl-port or both
+     (service-endpoint-interface and wsdl-port) should be specified.
+
+     If both are specified, wsdl-port represents the
+     port the container should choose for container-managed port selection.
+
+     The same wsdl-port value must not appear in
+     more than one port-component-ref entry within the same service-ref.
+
+     If a particular service-endpoint-interface is using container-managed port
+     selection, it must not appear in more than one port-component-ref entry
+     within the same service-ref.
+   -->
+   <xsd:complexType name="port-component-refType">
+      <xsd:sequence>
+         <xsd:element name="service-endpoint-interface" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="port-qname" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="config-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="config-file" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="stub-property" type="jboss:stub-propertyType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="call-property" type="jboss:call-propertyType" minOccurs="0" maxOccurs="unbounded"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="stub-propertyType">
+      <xsd:sequence>
+         <xsd:element name="prop-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="prop-value" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="call-propertyType">
+      <xsd:sequence>
+         <xsd:element name="prop-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="prop-value" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="message-destinationType">
+      <xsd:annotation>
+         <xsd:documentation> The message-destination element is used to configure the jndi-name for a
+            message-destination in ejb-jar.xml Used in: assembly-descriptor </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:group ref="jboss:descriptionGroup"/>
+         <xsd:element name="message-destination-name" type="javaee:xsdStringType"/>
+         <xsd:choice>
+            <xsd:element name="jndi-name" type="javaee:xsdStringType"/>
+            <xsd:element name="mapped-name" type="javaee:xsdStringType"/>
+         </xsd:choice>
+         <xsd:element name="lookup-name" type="javaee:xsdStringType"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="webservice-descriptionType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+            Runtime information about a web service.
+            wsdl-publish-location is optionally used to specify
+            where the final wsdl and any dependent files should be stored.  This location
+            resides on the file system from which deployment is initiated.
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element name="webservice-description-name" type="xsd:string"/>
+         <xsd:element name="config-name" type="xsd:string" minOccurs="0"/>
+         <xsd:element name="config-file" type="xsd:string" minOccurs="0"/>
+         <xsd:element name="wsdl-publish-location" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+</xsd:schema>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-common_8_1.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-common_8_1.xsd
new file mode 100644
index 0000000..5e963e4
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-common_8_1.xsd
@@ -0,0 +1,574 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2019, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed 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.
+-->
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+            targetNamespace="http://www.jboss.com/xml/ns/javaee"
+            xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee"
+            xmlns:jboss="http://www.jboss.com/xml/ns/javaee"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+            elementFormDefault="qualified"
+            attributeFormDefault="unqualified"
+            version="8.1">
+   <xsd:annotation>
+      <xsd:documentation>
+         <![CDATA[
+
+	This XML Schema defines types, elements and model groups that common to all application-specific JBoss schemas.
+        The target namespace is
+
+	http://www.jboss.com/xml/ns/javaee
+
+        Online URL http://www.jboss.org/j2ee/schema/jboss-common_8_1.xsd
+	]]>
+      </xsd:documentation>
+   </xsd:annotation>
+
+   <xsd:annotation>
+      <xsd:documentation> The following conventions apply to all Java EE deployment descriptor
+         elements unless indicated otherwise. - In elements that specify a pathname to a file within
+         the same JAR file, relative filenames (i.e., those not starting with "/") are considered
+         relative to the root of the JAR file's namespace. Absolute filenames (i.e., those starting
+         with "/") also specify names in the root of the JAR file's namespace. In general, relative
+         names are preferred. The exception is .war files where absolute names are preferred for
+         consistency with the Servlet API. </xsd:documentation>
+   </xsd:annotation>
+
+   <xsd:import namespace="http://xmlns.jcp.org/xml/ns/javaee" schemaLocation="http://www.jboss.org/schema/jbossas/javaee_8.xsd"/>
+
+   <xsd:group name="descriptionGroup">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="display-name" type="javaee:display-nameType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="icon" type="javaee:iconType" minOccurs="0" maxOccurs="unbounded" />
+      </xsd:sequence>
+   </xsd:group>
+
+   <xsd:group name="jndiEnvironmentRefsGroup">
+      <xsd:sequence>
+         <xsd:element name="env-entry" type="jboss:env-entryType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="ejb-ref" type="jboss:ejb-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="ejb-local-ref" type="jboss:ejb-local-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:group ref="jboss:service-refGroup" />
+         <xsd:element name="resource-ref" type="jboss:resource-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="resource-env-ref" type="jboss:resource-env-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="message-destination-ref" type="jboss:message-destination-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="persistence-context-ref" type="jboss:persistence-context-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="persistence-unit-ref" type="jboss:persistence-unit-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="post-construct" type="jboss:lifecycle-callbackType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="pre-destroy" type="jboss:lifecycle-callbackType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="data-source" type="jboss:data-sourceType" minOccurs="0" maxOccurs="unbounded" />
+      </xsd:sequence>
+   </xsd:group>
+
+   <xsd:complexType name="env-entryType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="env-entry-name" type="javaee:jndi-nameType" />
+         <xsd:element name="env-entry-type" type="javaee:env-entry-type-valuesType" minOccurs="0" />
+         <xsd:element name="env-entry-value" type="javaee:xsdStringType" minOccurs="0" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+   <xsd:complexType name="injection-targetType">
+      <xsd:sequence>
+         <xsd:element name="injection-target-class" type="javaee:fully-qualified-classType" />
+         <xsd:element name="injection-target-name" type="javaee:java-identifierType" />
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="lifecycle-callbackType">
+      <xsd:sequence>
+         <xsd:element name="lifecycle-callback-class" type="javaee:fully-qualified-classType" minOccurs="0" />
+         <xsd:element name="lifecycle-callback-method" type="javaee:java-identifierType" />
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="message-destination-refType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="message-destination-ref-name" type="javaee:jndi-nameType"/>
+         <xsd:element name="message-destination-type" type="javaee:message-destination-typeType" minOccurs="0" />
+         <xsd:element name="message-destination-usage" type="javaee:message-destination-usageType" minOccurs="0" />
+         <xsd:element name="message-destination-link" type="javaee:message-destination-linkType" minOccurs="0" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+   <!-- Bring persistence-context-refType info jboss namespace -->
+   <xsd:complexType name="persistence-context-refType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="persistence-context-ref-name" type="javaee:jndi-nameType" />
+         <xsd:element name="persistence-unit-name" type="javaee:string" minOccurs="0" />
+         <xsd:element name="persistence-context-type" type="javaee:persistence-context-typeType" minOccurs="0" />
+         <xsd:element name="persistence-property" type="javaee:propertyType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+   <xsd:complexType name="persistence-unit-refType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="persistence-unit-ref-name" type="javaee:jndi-nameType" />
+         <xsd:element name="persistence-unit-name" type="javaee:string" minOccurs="0" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+   <xsd:complexType name="resource-env-refType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="resource-env-ref-name" type="javaee:jndi-nameType" />
+         <xsd:element name="resource-env-ref-type" type="javaee:fully-qualified-classType" minOccurs="0" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+  <xsd:complexType name="data-sourceType">
+    <xsd:sequence>
+      <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" />
+      <xsd:element name="name" type="javaee:jndi-nameType" />
+      <xsd:element name="class-name" type="javaee:fully-qualified-classType" minOccurs="0" />
+      <xsd:element name="server-name" type="javaee:string" minOccurs="0" />
+      <xsd:element name="port-number" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="database-name" type="javaee:string" minOccurs="0" />
+      <xsd:element name="url" type="javaee:jdbc-urlType" minOccurs="0" />
+      <xsd:element name="user" type="javaee:string" minOccurs="0" />
+      <xsd:element name="password" type="javaee:string" minOccurs="0" />
+      <xsd:element name="property" type="javaee:propertyType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="login-timeout" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="transactional" type="javaee:xsdBooleanType" minOccurs="0" />
+      <xsd:element name="isolation-level" type="javaee:isolation-levelType" minOccurs="0" />
+      <xsd:element name="initial-pool-size" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="max-pool-size" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="min-pool-size" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="max-idle-time" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="max-statements" type="javaee:xsdIntegerType" minOccurs="0" />
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:group name="resourceGroup">
+      <xsd:sequence>
+         <!-- In jboss xml we allow the use of jndi-name instead of mapped-name -->
+         <xsd:choice minOccurs="0">
+            <xsd:element name="jndi-name" type="javaee:jndi-nameType"/>
+            <xsd:element name="mapped-name" type="javaee:xsdStringType"/>
+         </xsd:choice>
+         <xsd:element name="injection-target" type="jboss:injection-targetType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="ignore-dependency" type="javaee:emptyType" minOccurs="0"/>
+      </xsd:sequence>
+   </xsd:group>
+
+   <xsd:group name="service-refGroup">
+      <xsd:sequence>
+         <xsd:element name="service-ref" type="jboss:service-refType" minOccurs="0" maxOccurs="unbounded">
+            <xsd:key name="service-ref_handler-name-key">
+               <xsd:selector xpath="javaee:handler" />
+               <xsd:field xpath="javaee:handler-name" />
+            </xsd:key>
+         </xsd:element>
+      </xsd:sequence>
+   </xsd:group>
+
+  <xsd:complexType name="jndi-binding-policyType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  The jndiBindingPolicyType defines the fully-qualified name of
+	  a class that implements the JNDI binding policy.
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:fully-qualified-classType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+   <xsd:complexType name="jmx-nameType">
+      <xsd:annotation>
+         <xsd:documentation> The jmx-name element allows one to specify the JMX ObjectName to use for
+            the MBean associated with the ejb-jar module. This must be a unique name and valid JMX
+            ObjectName string. </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="security-domainType">
+      <xsd:annotation>
+         <xsd:documentation> The security-domain element specifies the JNDI name of the security
+            manager that implements the EJBSecurityManager and RealmMapping for the domain. When
+            specified at the jboss level it specifies the security domain for all j2ee components in the
+            deployment unit. One can override the global security-domain at the container level using
+            the security-domain element at the container-configuration level. </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="security-roleType">
+      <xsd:annotation>
+         <xsd:documentation> The security-role element contains the definition of a security role.
+            The definition consists of an the security role name and principal name element(s). </xsd:documentation>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element name="description"
+            type="javaee:descriptionType"
+            minOccurs="0"
+            maxOccurs="unbounded"/>
+         <xsd:element name="role-name"
+            type="javaee:role-nameType"/>
+         <xsd:element name="principal-name" type="jboss:principal-nameType" maxOccurs="unbounded"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="principal-nameType">
+      <xsd:annotation>
+         <xsd:documentation> The principal-name element is the name of the principal that is mapped
+            to the assembly role-name. </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="dependsType">
+      <xsd:annotation>
+         <xsd:documentation> The depends element gives a JMX ObjectName of a service on which the
+            container or ejb depends. (default) </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="local-jndi-nameType">
+      <xsd:annotation>
+         <xsd:documentation> The JNDI name under with the local interface should be bound. If it is not
+            provided jboss will assume "jndi-name" = "beanClass/local" </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="ejb-refType">
+      <xsd:annotation>
+         <xsd:documentation> The ejb-ref element is used to give the jndi-name of an external ejb
+            reference. In the case of an external ejb reference, you don't provide a ejb-link element in
+            ejb-jar.xml, but you provide a jndi-name in jboss.xml Used in: entity, session,
+            message-driven, consumer, and service </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="ejb-ref-name" type="javaee:ejb-ref-nameType" minOccurs="0"/>
+         <xsd:element name="ejb-ref-type" type="javaee:ejb-ref-typeType" minOccurs="0"/>
+         <xsd:element name="home" type="javaee:homeType" minOccurs="0"/>
+         <xsd:element name="remote" type="javaee:remoteType" minOccurs="0"/>
+         <xsd:element name="ejb-link" type="javaee:ejb-linkType" minOccurs="0"/>
+         <xsd:group ref="jboss:resourceGroup"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+
+      <!--
+      <xsd:complexContent>
+         <xsd:extension base="javaee:ejb-refType">
+            <xsd:sequence>
+               <xsd:element name="jndi-name" type="javaee:jndi-nameType" minOccurs="0"/>
+               <xsd:element name="ignore-dependency" type="javaee:emptyType" minOccurs="0"/>
+            </xsd:sequence>
+         </xsd:extension>
+      </xsd:complexContent>
+      -->
+   </xsd:complexType>
+
+   <xsd:complexType name="ejb-local-refType">
+      <xsd:annotation>
+         <xsd:documentation> The ejb-local-ref element is used to give the jndi-name of an external ejb
+            reference. In the case of an external ejb reference, you don't provide a ejb-link element in
+            ejb-jar.xml, but you provide a jndi-name in jboss.xml </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="ejb-ref-name" type="javaee:ejb-ref-nameType" minOccurs="0"/>
+         <xsd:element name="ejb-ref-type" type="javaee:ejb-ref-typeType" minOccurs="0"/>
+         <xsd:element name="local-home" type="javaee:local-homeType" minOccurs="0"/>
+         <xsd:element name="local" type="javaee:localType" minOccurs="0"/>
+         <xsd:element name="ejb-link" type="javaee:ejb-linkType" minOccurs="0"/>
+         <xsd:element name="local-jndi-name" type="javaee:jndi-nameType" minOccurs="0"/>
+         <xsd:group ref="jboss:resourceGroup"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="resource-refType">
+      <xsd:annotation>
+         <xsd:documentation> The resource-ref element gives a mapping between the "code name" of a
+            resource (res-ref-name, provided by the Bean Developer) and its "xml name" (resource-name,
+            provided by the Application Assembler). If no resource-ref is provided, jboss will assume
+            that "xml-name" = "code name" See resource-managers. </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="res-ref-name" type="javaee:jndi-nameType" minOccurs="0">
+            <xsd:annotation>
+               <xsd:documentation> The res-ref-name element specifies the name of a resource manager
+                  connection factory reference. The name is a JNDI name relative to the java:comp/env
+                  context. The name must be unique within a Deployment File. </xsd:documentation>
+            </xsd:annotation>
+         </xsd:element>
+
+         <xsd:element name="res-type" type="javaee:fully-qualified-classType" minOccurs="0">
+            <xsd:annotation>
+               <xsd:documentation> The res-type element specifies the type of the data source. The type
+                  is specified by the fully qualified Java language class or interface expected to be
+                  implemented by the data source. </xsd:documentation>
+            </xsd:annotation>
+         </xsd:element>
+
+         <xsd:element name="res-auth" type="javaee:res-authType" minOccurs="0"/>
+
+         <xsd:element name="res-sharing-scope" type="javaee:res-sharing-scopeType" minOccurs="0"/>
+
+         <!-- We redefine part of the resourceGroup here, so we can't ref it -->
+         <xsd:choice>
+            <xsd:element name="resource-name" type="javaee:xsdStringType"/>
+            <xsd:element name="jndi-name" type="javaee:xsdStringType"/>
+            <xsd:element name="mapped-name" type="javaee:xsdStringType"/>
+            <xsd:element name="res-url" type="javaee:xsdStringType"/>
+         </xsd:choice>
+
+         <xsd:element name="injection-target" type="jboss:injection-targetType" minOccurs="0" maxOccurs="unbounded" />
+
+         <xsd:element name="ignore-dependency" type="javaee:emptyType" minOccurs="0"/>
+
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="service-ref-nameType">
+      <xsd:annotation>
+         <xsd:documentation> The service-ref-name element gives the ENC relative name used in the
+            ejb-jar.xml service-ref-name element. </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="loader-repositoryType" mixed="true">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+      The loader-repository specifies the name of the UnifiedLoaderRepository
+   MBean to use for the ear to provide ear level scoping of classes deployed
+   in the ear. It is a unique JMX ObjectName string. It may also specify
+   an arbitrary configuration by including a loader-repository-config element.
+
+Examples:
+   <loader-repository>jboss.test:loader=cts-cmp2v1-sar.ear</loader-repository>
+
+   <loader-repository loaderRepositoryClass='dot.com.LoaderRepository'>
+      dot.com:loader=unique-archive-name
+      <loader-repository-config configParserClass='dot.com.LoaderParser'>
+         java2ParentDelegaton=true
+      </loader-repository-config>
+   </loader-repository>
+        </loader-repository>
+        ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="loader-repository-config" type="jboss:loader-repository-configType"
+                      minOccurs="0" maxOccurs="unbounded"/>
+
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+      <xsd:attribute name="loaderRepositoryClass" type="xsd:string"/>
+   </xsd:complexType>
+
+   <!-- **************************************************** -->
+
+   <xsd:complexType name="loader-repository-configType" mixed="true">
+      <xsd:annotation>
+         <xsd:documentation> The loader-repository-config element specifies any arbitrary configuration
+            fragment for use in configuring the loader-repository instance. The actual content of this
+            element is specific to the loaderRepositoryClass and the code parsing the element.
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:attribute name="id" type="xsd:ID"/>
+      <xsd:attribute name="configParserClass" type="xsd:string"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="service-refType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+  Runtime settings for a web service reference. In the simplest case,
+  there is no runtime information required for a service ref.  Runtime info
+  is only needed in the following cases :
+
+  * to define the port that should be used to resolve a container-managed port
+  * to define default Stub property settings for Stub objects
+  * to define the URL of a final WSDL document to be used
+
+  Example:
+
+  <service-ref>
+   <service-ref-name>OrganizationService</service-ref-name>
+   <wsdl-override>file:/wsdlRepository/organization-service.wsdl</wsdl-override>
+  </service-ref>
+
+  <service-ref>
+   <service-ref-name>OrganizationService</service-ref-name>
+   <config-name>Secure Client Config</config-name>
+   <config-file>META-INF/jbossws-client-config.xml</config-file>
+   <handler-chain>META-INF/jbossws-client-handlers.xml</handler-chain>
+  </service-ref>
+
+  <service-ref>
+   <service-ref-name>SecureService</service-ref-name>
+   <service-impl-class>org.jboss.tests.ws.jaxws.webserviceref.SecureEndpointService</service-impl-class>
+   <service-qname>{http://org.jboss.ws/wsref}SecureEndpointService</service-qname>
+    <port-component-ref>
+     <service-endpoint-interface>org.jboss.tests.ws.jaxws.webserviceref.SecureEndpoint</service-endpoint-interface>
+     <port-qname>{http://org.jboss.ws/wsref}SecureEndpointPort</port-qname>
+     <stub-property>
+      <name>javax.xml.ws.security.auth.username</name>
+      <value>kermit</value>
+     </stub-property>
+     <stub-property>
+      <name>javax.xml.ws.security.auth.password</name>
+      <value>thefrog</value>
+     </stub-property>
+   </port-component-ref>
+  </service-ref>
+    ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="service-ref-name" type="xsd:string"/>
+         <xsd:element name="service-impl-class" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="service-qname" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="config-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="config-file" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="handler-chain" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="port-component-ref" type="jboss:port-component-refType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="wsdl-override" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <!--
+     Information for a port within a service-ref.
+
+     Either service-endpoint-interface or wsdl-port or both
+     (service-endpoint-interface and wsdl-port) should be specified.
+
+     If both are specified, wsdl-port represents the
+     port the container should choose for container-managed port selection.
+
+     The same wsdl-port value must not appear in
+     more than one port-component-ref entry within the same service-ref.
+
+     If a particular service-endpoint-interface is using container-managed port
+     selection, it must not appear in more than one port-component-ref entry
+     within the same service-ref.
+   -->
+   <xsd:complexType name="port-component-refType">
+      <xsd:sequence>
+         <xsd:element name="service-endpoint-interface" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="port-qname" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="config-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="config-file" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="stub-property" type="jboss:stub-propertyType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="call-property" type="jboss:call-propertyType" minOccurs="0" maxOccurs="unbounded"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="stub-propertyType">
+      <xsd:sequence>
+         <xsd:element name="prop-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="prop-value" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="call-propertyType">
+      <xsd:sequence>
+         <xsd:element name="prop-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="prop-value" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="message-destinationType">
+      <xsd:annotation>
+         <xsd:documentation> The message-destination element is used to configure the jndi-name for a
+            message-destination in ejb-jar.xml Used in: assembly-descriptor </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:group ref="jboss:descriptionGroup"/>
+         <xsd:element name="message-destination-name" type="javaee:xsdStringType"/>
+         <xsd:choice>
+            <xsd:element name="jndi-name" type="javaee:xsdStringType"/>
+            <xsd:element name="mapped-name" type="javaee:xsdStringType"/>
+         </xsd:choice>
+         <xsd:element name="lookup-name" type="javaee:xsdStringType"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="webservice-descriptionType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+            Runtime information about a web service.
+            wsdl-publish-location is optionally used to specify
+            where the final wsdl and any dependent files should be stored.  This location
+            resides on the file system from which deployment is initiated.
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element name="webservice-description-name" type="xsd:string"/>
+         <xsd:element name="config-name" type="xsd:string" minOccurs="0"/>
+         <xsd:element name="config-file" type="xsd:string" minOccurs="0"/>
+         <xsd:element name="wsdl-publish-location" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+</xsd:schema>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-service_4_0_1.dtd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-service_4_0_1.dtd
new file mode 100644
index 0000000..ebd7d18
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-service_4_0_1.dtd
@@ -0,0 +1,301 @@
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2019, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed 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.
+-->
+
+<!-- A skeleton JBoss MBean service descriptor DTD. This cannot be used in
+general to validate a jboss-service.xml descriptor due to the fact that the
+'attribute' element allows ANY content.
+
+DOCTYPE server
+    PUBLIC "-//JBoss//DTD MBean Service 4.0//EN"
+    "http://www.jboss.org/dtd/jbossas/jboss-service_4_0_1.dtd"
+-->
+<!-- The server element is the root element.
+-->
+<!ELEMENT server (loader-repository? , local-directory* , classpath* , mbean*)>
+
+<!-- The loader-repository specifies the name of the UnifiedLoaderRepository
+   MBean to use for the ear to provide ear level scoping of classes deployed
+   in the ear. It is a unique JMX ObjectName string. It may also specify
+   an arbitrary configuration by including a loader-repository-config element.
+
+Examples:
+   <loader-repository>jboss.test:loader=cts-cmp2v1-sar.ear</loader-repository>
+
+   <loader-repository loaderRepositoryClass='dot.com.LoaderRepository'>
+      dot.com:loader=unique-archive-name
+      <loader-repository-config configParserClass='dot.com.LoaderParser'>
+         java2ParentDelegaton=true
+      </loader-repository-config>
+   </loader-repository>
+-->
+<!ELEMENT loader-repository (#PCDATA | loader-repository-config)*>
+
+<!-- The loaderRepositoryClass attribute gives the classname of the
+org.jboss.mx.loading.LoaderRepository implementation.
+-->
+<!ATTLIST loader-repository loaderRepositoryClass CDATA  #IMPLIED>
+
+<!-- The loader-repository-config element specifies any arbitrary configuration
+fragment for use in configuring the loader-repository instance. The actual
+content of this element is specific to the loaderRepositoryClass and the
+code parsing the element.
+-->
+<!ELEMENT loader-repository-config (#PCDATA)>
+
+<!-- The configParserClass attribute gives the classname of the
+org.jboss.mx.loading.LoaderRepositoryFactory.LoaderRepositoryConfigParser
+implementation to use to parse the loader-repository-config content.
+-->
+<!ATTLIST loader-repository-config configParserClass CDATA  #IMPLIED>
+
+<!-- A local-directory element specifies that portions of the sar are to be unjard into the data
+directory of the server configuration.
+-->
+<!ELEMENT local-directory EMPTY>
+
+<!-- The optional path attribute gives the prefix of the sar entries that should be copied
+into the data directory. If it is not specified the entire sar contents will be placed into
+the data directory.
+-->
+<!ATTLIST local-directory path CDATA  #IMPLIED>
+
+<!-- A classpath element specifies a location which will be included in the services
+deployment classpath.
+-->
+<!ELEMENT classpath EMPTY>
+
+<!-- The codebase attribute specifies the base URL from which the jars or classes
+are loaded from. If the codebase is '.' then it is equal to the mbean deployment URL.
+Otherwise, it is resolved as a path spec relative to the serverHomeURL (e.g., file:/jboss-3.2.0)
+using the URL ctor URL(serverHomeURL, codebase)
+
+Examples:
+
+   <classpath codebase='.' archives='util.jar' />
+   <classpath codebase='http://classloader.dot.com' archives='*' />
+   <classpath codebase="lib" archives="*"/>
+-->
+<!ATTLIST classpath codebase CDATA  #REQUIRED>
+
+<!-- The archives attribute specifies either the '*' wildcard to indicate all contents of the
+codebase should be included, or a comma seperated list of the jars to include.
+-->
+<!ATTLIST classpath archives CDATA  #IMPLIED>
+
+<!-- The mbean element defines a JBoss MBean service. This includes the
+mbean class, attributes and dependencies.
+-->
+<!ELEMENT mbean (constructor? , xmbean? , attribute* , depends* , depends-list*)>
+
+<!-- The code attributes gives the fully qualified name of the MBean
+implementation class.
+-->
+<!ATTLIST mbean code      CDATA  #REQUIRED>
+
+<!-- The name attribute gives the JMX ObjectName string to use when registering
+the MBean. This must be a unique and valid JMX name.
+-->
+<!ATTLIST mbean name      CDATA  #REQUIRED>
+
+<!-- The optional interface attribute gives the full qualified name of the class
+uses to construct the management interface of the mbean. In absence of it an interface
+with the name ending by MBean will be looked in the implementation class. When used
+this interface is defined explicitely.
+-->
+<!ATTLIST mbean interface CDATA  #IMPLIED>
+
+<!-- The xmbean-dd attribute defines the path to the JBoss XMBean descriptor. This
+is an xml document conforming to:
+
+<!DOCTYPE mbean PUBLIC
+      "-//JBoss//DTD JBOSS XMBEAN 1.0//EN"
+      "http://www.jboss.org/j2ee/dtd/jboss_xmbean_1_0.dtd">
+
+If the descriptor is embedded via a nested xmbean element, the xmbean-dd attribute
+must be given as an empty string.
+
+Example:
+	<mbean code="org.jboss.test.jmx.xmbean.User"
+		name="jboss.test:service=xmbean-user"
+		xmbean-dd="META-INF/org/jboss/test/jmx/xmbean/User.xml" />
+-->
+<!ATTLIST mbean xmbean-dd CDATA  #IMPLIED>
+
+<!-- The optional xmbean-code attribute specifies the ModelMBean implementation class
+to use. This defaults to org.jboss.mx.modelmbean.XMBean.
+-->
+<!ATTLIST mbean xmbean-code CDATA  #IMPLIED>
+
+<!-- The xmbean element specifies a nested JBoss XMBean descriptor fragment. Its
+supported content model is the same as the mbean element of the jboss_xmbean_1_0.dtd
+
+Example:
+	<mbean code="org.jboss.test.jmx.xmbean.User"
+		name="jboss.test:service=xmbean-user"
+		xmbean-dd="">
+		<xmbean>
+			...
+		</xmbean>
+	</mbean>
+-->
+<!ELEMENT xmbean ANY>
+
+<!-- The constructor element defines a non-default constructor to use when
+instantiating the mbean.
+-->
+<!ELEMENT constructor (arg*)>
+
+<!-- The arg element specify the constructor arguments in the order of the
+ctor signature. Each arg has a type and value attribute.
+-->
+<!ELEMENT arg EMPTY>
+
+<!-- The type attribute gives the type of the argument as defined in the
+ctor signature. If not defined java.lang.String is assumed.
+-->
+<!ATTLIST arg type  CDATA  #IMPLIED>
+
+<!-- The value attribute provides the string representation of the ctor
+argument. It is converted from a string to type using Java PropertyEditor or a
+ctor taking a single string as its argument.
+-->
+<!ATTLIST arg value CDATA  #REQUIRED>
+
+<!-- The attribute element specifies the initial value for a management attribute of
+the enclosing mbean. Typically the value of the attribute element is the string
+representation of the attribute, but it can be an arbitrary xml fragment that is
+parsed by the mbean.
+-->
+<!ELEMENT attribute ANY>
+
+<!-- The required name attribute gives the name of the attribute. This is the
+name exposed by the mbean to the MBeanServer for the attribute.
+-->
+<!ATTLIST attribute name CDATA  #REQUIRED>
+
+<!-- The optional replace attribute indicates whether references of the form ${x}
+in the attribute element content should be replaced with the corresponding
+System.getProperty(x) value.
+-->
+<!ATTLIST attribute replace (true | false) 'true'>
+<!-- The optional trim attribute specifies whether the attribute element content should
+be trimmed of whitespace.
+-->
+<!ATTLIST attribute trim (true | false) 'true'>
+
+<!-- The attributeClass attribute specifies that type of object that
+should be created. This is needed for non-concreate attribute types
+like interfaces and abstract classes.
+-->
+<!ATTLIST attribute attributeClass CDATA  #IMPLIED>
+
+<!-- The serialDataType defines the how the content of the attribute
+element is interpretted by the ServiceConfigurator. The possible values
+are:
+   + text: the content is treated as the string representation of the
+   attribute value. It will be mapped to the attribute using the PropertyEditor
+   registered for the attribute type.
+   + javaBean: the content is a collection of property elements.
+   + jbxb: the content is an xml element from a namespace with an associated
+      xml schema that can be unmarshalled using the JBossXB framework.
+-->
+<!ATTLIST attribute serialDataType (text | javaBean | jbxb) 'text'>
+
+<!-- The property element is used to describe the JavaBean properties of
+an attribute when the attribute element serialDataType is javaBean.
+-->
+<!ELEMENT property (#PCDATA)>
+<!-- The required name attribute gives the name of the property. This is the
+name of a JavaBean property for the attribute type.
+-->
+<!ATTLIST property name CDATA #REQUIRED>
+
+<!-- The depends element specifies a JMX ObjectName string for an mbean
+on which the enclosing mbean depends.
+
+Example:
+   <mbean code="myBean" name="domain:name=x">
+      <depends optional-attribute-name="yName">domain:name=y</depends>
+   </mbean>
+
+   <mbean code="myBean" name="domain:name=x">
+      <depends optional-attribute-name="anonName">
+         <mbean code="nestedBean" name="domain:name=x.y">
+         ...
+         </mbean>
+      </depends>
+   </mbean>
+-->
+<!ELEMENT depends (#PCDATA | mbean)*>
+
+<!-- The optional-attribute-name attribute specifies the attribute name
+which should be populated with the JMX ObjectName of the depends element.
+This allows an mbean to have access to the name of the mbean on which
+it depends.
+-->
+<!ATTLIST depends optional-attribute-name CDATA  #IMPLIED>
+
+<!-- The proxy-type attribute specifies the interface name
+that should be exposed on an MBeanProxy pointing at the dependent
+MBean, specified by the JMX ObjectName.
+
+The special value proxy-type="attribute" will use the
+class declared in the MBeanAttributeInfo as the interface
+for the MBeanProxy.
+
+Example:
+   <mbean code="org.jboss.example.Helper" name="domain:name=helper"/>
+
+   <mbean code="myBean" name="domain:name=x">
+      <depends optional-attribute-name="Helper"
+               proxy-type="org.jboss.example.HelperMBean"
+      >domain:name=helper</depends>
+   </mbean>
+
+   <mbean code="myBean" name="domain:name=x">
+      <depends optional-attribute-name="Helper"
+               proxy-type="attribute"
+      >domain:name=helper</depends>
+   </mbean>
+-->
+<!ATTLIST depends proxy-type CDATA  #IMPLIED>
+
+<!-- The depends-list element specifies a series of JMX ObjectName
+strings of mbeans on which the enclosing mbean depends.
+
+Example:
+   <mbean code="myBean" name="domain:name=x">
+      <depends-list optional-attribute-name="myObjectNameList">
+         <depends-list-element>domain:name=y</depends-list-element>
+         <depends-list-element>domain:name=z</depends-list-element>
+      </depends-list>
+   </mbean>
+-->
+<!ELEMENT depends-list (depends-list-element)+>
+
+<!-- The optional-attribute-name attribute specifies the attribute name
+which should be populated with a java.util.List that contains the JMX
+ObjectName(s) of the depends-list elements. This allows an mbean to have
+access to the names of the mbeans on which it depends.
+-->
+<!ATTLIST depends-list optional-attribute-name CDATA  #IMPLIED>
+
+<!-- The depends-list-element element specifies a JMX ObjectName string
+for an mbean on which the enclosing mbean depends.
+-->
+<!ELEMENT depends-list-element (#PCDATA | mbean)*>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_14_1.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_14_1.xsd
new file mode 100644
index 0000000..a277891
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_14_1.xsd
@@ -0,0 +1,524 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2019, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed 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.
+-->
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+            targetNamespace="http://www.jboss.com/xml/ns/javaee"
+            xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee"
+            xmlns:jboss="http://www.jboss.com/xml/ns/javaee"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+            elementFormDefault="qualified"
+            attributeFormDefault="unqualified"
+            version="14.1">
+
+    <xsd:annotation>
+        <xsd:documentation>
+            <![CDATA[
+
+	This is the XML Schema for the WildFly 14.1 web application deployment descriptor.
+	The deployment descriptor must be named "WEB-INF/jboss-web.xml" in
+	the WAR file.  All JBoss Web deployment descriptors must indicate
+	the JBoss schema by using the Java EE namespace:
+
+        http://www.jboss.com/xml/ns/javaee
+
+	and by indicating the version of the schema using the version element as shown below:
+
+        <jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
+           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+           xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/schema/jbossas/jboss-web_14_1.xsd"
+           version="14.0">
+
+	       ...
+
+        </jboss-web>
+
+	Instance documents may indicate the published version of
+	the schema using the xsi:schemaLocation attribute for the
+	Java EE namespace with the following location:
+
+	http://www.jboss.org/j2ee/schema/jboss-web_14_1.xsd
+
+	]]>
+        </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:annotation>
+        <xsd:documentation>
+            The following conventions apply to all Java EE deployment descriptor
+            elements unless indicated otherwise. - In elements that specify a pathname to a file within
+            the same JAR file, relative filenames (i.e., those not starting with "/") are considered
+            relative to the root of the JAR file's namespace. Absolute filenames (i.e., those starting
+            with "/") also specify names in the root of the JAR file's namespace. In general, relative
+            names are preferred. The exception is .war files where absolute names are preferred for
+            consistency with the Servlet API.
+        </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:import namespace="http://xmlns.jcp.org/xml/ns/javaee" schemaLocation="http://www.jboss.org/schema/jbossas/web-app_4_0.xsd"/>
+    <xsd:include schemaLocation="jboss-common_8_1.xsd"/>
+
+    <xsd:element name="jboss-web" type="jboss:jboss-webType">
+        <xsd:annotation>
+            <xsd:documentation>
+                This is the root element of jboss-web deployment descriptor.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+
+    <xsd:simpleType name="jboss-web-versionType">
+        <xsd:restriction base="xsd:token">
+            <xsd:enumeration value="14.0"/>
+        </xsd:restriction>
+    </xsd:simpleType>
+
+    <xsd:complexType name="jboss-webType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The jboss-web element is the root element of jboss-web.xml file. It contains
+                all the information used by jboss but not described in the web.xml file. All of it is optional.
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:element name="deny-uncovered-http-methods" type="xsd:boolean" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="executor-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="context-root" type="jboss:context-rootType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="virtual-host" type="jboss:virtual-hostType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="servlet-container" type="jboss:servlet-containerType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="server-instance" type="jboss:server-instanceType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="default-encoding" type="jboss:defaultEncodingType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="annotation" type="jboss:annotationType" minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element name="session-config" type="javaee:session-configType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="http-handler" type="jboss:httpHandlerType" minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element name="overlay" type="jboss:overlayType" minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element name="security-domain" type="jboss:web-security-domainType" minOccurs="0"/>
+            <xsd:element name="security-role" type="jboss:security-roleType" minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element name="jacc-star-role-allow" type="jboss:jacc-star-role-allowType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="jacc-context-id" type="jboss:jacc-context-idType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="disable-cross-context" type="jboss:disable-cross-contextType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="use-jboss-authorization" type="jboss:use-jboss-authorizationType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="disable-audit" type="jboss:disable-auditType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="servlet" type="jboss:servletType" minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element name="max-active-sessions" type="javaee:xsdIntegerType" minOccurs="0" maxOccurs="1" default="-1">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        Determines the maximum number of sessions to retain in memory. If the application attempts to exceed
+                        this limit, the resulting behavior is determined by the session manager.
+
+                        If the session manager supports passivation, then sessions accessed least recently will be
+                        passivated to make room for new sessions.
+                        If the session manager does not support passivation then any attempt to create more than
+                        max-active-sessions will fail.
+
+                        If undefined, or if set to -1, then no limit is placed on the number of sessions retained in memory,
+                        and sessions will never passivate.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="distinct-name" type="jboss:distinct-nameType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="symbolic-linking-enabled" type="jboss:symbolic-linked-allowedType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="proactive-authentication" type="jboss:proactive-authenticationType" minOccurs="0" maxOccurs="1"/>
+            <xsd:group ref="jboss:jndiEnvironmentRefsGroup"/>
+            <xsd:element name="enable-websockets" type="jboss:enable-websocketsType" minOccurs="0" maxOccurs="1"/>
+        </xsd:sequence>
+        <xsd:attribute name="version" type="jboss:jboss-web-versionType" use="required"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="container-listenerType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Defines a web container listener. The module element allows specifying from which
+                module in the application server the specified class will be loaded. The listener type
+                element defines which events the listener will receive from the web container.
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:element name="class-name" type="javaee:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="module" type="javaee:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="listener-type" type="jboss:container-listener-typeType" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="param" type="javaee:param-valueType" minOccurs="0" maxOccurs="unbounded"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="container-listener-typeType">
+        <xsd:annotation>
+            <xsd:documentation>
+                <![CDATA[
+
+            Sets the type of the container listener:
+                    1 - "LIFECYCLE": webapp lifecycle listener
+                    2 - "CONTAINER": webapp container listener
+                    3 - "SERVLET_INSTANCE": servlet instance listener
+                    4 - "SERVLET_LIFECYCLE": servlet lifecycle listener
+                    5 - "SERVLET_CONTAINER": servlet container (Catalina wrapper) listener
+
+            Example:
+                  <listener-type>LIFECYCLE</listener-type>
+
+            ]]>
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string">
+                <xsd:enumeration value="LIFECYCLE"/>
+                <xsd:enumeration value="CONTAINER"/>
+                <xsd:enumeration value="SERVLET_INSTANCE"/>
+                <xsd:enumeration value="SERVLET_LIFECYCLE"/>
+                <xsd:enumeration value="SERVLET_CONTAINER"/>
+            </xsd:restriction>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="valveType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Defines a web container valve. The module element allows specifying from which
+                module in the application server the specified class will be loaded. A container
+                valve is used to intercept the request that will be processed by the servlet. It
+                is invoked as part of a chain, before the invocation of the webapp's filter chain.
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:element name="class-name" type="javaee:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="module" type="javaee:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="param" type="javaee:param-valueType" minOccurs="0" maxOccurs="unbounded"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+
+    <xsd:complexType name="httpHandlerType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Defines a web container HTTPHandler. The module element allows specifying from which
+                module in the application server the specified class will be loaded. A handler
+                is used to intercept the request that will be processed by the servlet. It
+                is invoked as part of a chain, before the invocation of the webapp's filter chain.
+
+                The class specified can either be a HttpHandler that has a constructor that takes the
+                next HttpHandler, or can be a HandlerWrapper that produces the next handler.
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:element name="class-name" type="javaee:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="module" type="javaee:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="param" type="javaee:param-valueType" minOccurs="0" maxOccurs="unbounded"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="overlayType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The overlay element specifies additional static files overlays for this
+                web application. The content of the element should be a folder in the
+                filesystem containing the static files that will overlay the webapp's
+                static files, similar to what happens with regular JAR overlays.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="web-security-domainType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The name of a security-domain that will be used to authenticate and authorize users.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:extension base="javaee:string">
+                <xsd:attribute name="flushOnSessionInvalidation" type="xsd:boolean" use="optional" default="false">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            Whether the domain's cache should be flushed when the session invalidates.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:attribute>
+            </xsd:extension>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="disable-cross-contextType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The disable-cross-context element specifies if cross context
+                access should be enabled for this webapp, allowing it to use the
+                request dispatcher to access other webapps deployed in the
+                application server.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:generic-booleanType"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="use-jboss-authorizationType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The use-jboss-authorization element specifies if the JBoss
+                authorization layer should be used.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:generic-booleanType"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="disable-auditType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The disable-audit element specifies if the security audit logging
+                should be disabled.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:generic-booleanType"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="proactive-authenticationType">
+        <xsd:annotation>
+            <xsd:documentation>
+                If this is set to false then authentication will not be performed unless it is required,
+                even if credentials are present.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:generic-booleanType"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+    <xsd:complexType name="distinct-nameType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The distinct-name element specifies the EJB 3 distinct name for this
+                web application.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="symbolic-linked-allowedType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The symbolic-linked-allowed element specifies if symlinking is allowed in exploded deployments.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:extension base="xsd:boolean"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="jacc-star-role-allowType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The jacc-star-role-allow element specifies whether the
+                jacc permission generating agent in the web layer needs to generate a
+                WebResourcePermission(url,null) permission such that the jacc provider can
+                make a decision as to bypass authorization or not.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:generic-booleanType"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="jacc-context-idType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The jacc-context-id element allows for the specification of the JACC contextID that should
+                be used to identify the web application when checking for permissions. If not set the deployment
+                unit name is used as JACC contextID.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="context-rootType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The context-root element specifies the context root of a web
+                application. This is normally specified at the ear level using the standard
+                JEE application.xml descriptor, but it may be given here for standalone wars.
+                This should not override the application.xml level specification.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="servlet-containerType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The servlet-container element specifies the which servlet container this application
+                should be using.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+
+    <xsd:complexType name="server-instanceType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The server-instance element specifies the which server instance configuration this application belongs to.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="defaultEncodingType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Default encoding to use for this application
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="virtual-hostType">
+        <xsd:annotation>
+            <xsd:documentation>
+                <![CDATA[
+
+            The virtual-host element allows one to specify which virtual host the war
+            should be deployed to. Example, to specify that a war should be deployed to the
+            www.jboss-store.org virtual host add the following virtual-host element:
+            <virtual-host>www.jboss-store.org</virtual-host>
+
+            ]]>
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="servletType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The servlet element specifies servlet specific bindings. Currently this
+                is only the run-as principal identity.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:element name="servlet-name" type="javaee:string"/>
+            <xsd:element name="executor-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="run-as-principal" type="javaee:role-nameType" minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The run-as-principal element specifies whether a specific run-as identity is
+                        to be used. If there is a run-as role defined for a servlet, there can also
+                        be a run-as-principal defined here. If you don't define a run-as principal
+                        the callee will see ctx.getUserPrincipal() == 'anonymous'
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="servlet-security" type="jboss:servlet-securityType" minOccurs="0" maxOccurs="1"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:simpleType name="max-active-sessionsType">
+        <xsd:restriction base="xsd:integer"/>
+    </xsd:simpleType>
+
+    <xsd:complexType name="annotationType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The annotation element specifies annotation specific bindings. This allows
+                overriding the @ServletSecurity, @RunAs and @MultipartConfig, which apply
+                on a Servlet class rather than a Servlet name. They have the same structure
+                and element names as the corresponding annotation.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:element name="class-name" type="javaee:string"/>
+            <xsd:element name="servlet-security" type="jboss:servlet-securityType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="run-as" type="jboss:run-asType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="multipart-config" type="jboss:multipart-configType" minOccurs="0" maxOccurs="1"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="run-asType">
+        <xsd:sequence>
+            <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element name="role-name" type="javaee:string"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="servlet-securityType">
+        <xsd:sequence>
+            <xsd:element name="empty-role-semantic" type="javaee:string"/>
+            <xsd:element name="transport-guarantee" type="javaee:transport-guaranteeType"/>
+            <xsd:element name="roles-allowed" type="javaee:role-nameType" minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element name="http-method-constraint" type="jboss:http-method-constraintType" minOccurs="0" maxOccurs="unbounded"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="http-method-constraintType">
+        <xsd:sequence>
+            <xsd:element name="method" type="javaee:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="empty-role-semantic" type="jboss:empty-role-semanticType"/>
+            <xsd:element name="transport-guarantee" type="javaee:transport-guaranteeType"/>
+            <xsd:element name="roles-allowed" type="javaee:role-nameType" minOccurs="0" maxOccurs="unbounded"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="empty-role-semanticType">
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string">
+                <xsd:enumeration value="PERMIT"/>
+                <xsd:enumeration value="DENY"/>
+            </xsd:restriction>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="multipart-configType">
+        <xsd:sequence>
+            <xsd:element name="location" type="javaee:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="max-file-size" type="xsd:long" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="max-request-size" type="xsd:long" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="file-size-threshold" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="enable-websocketsType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Legacy enable-websockets option. Websockets are enabled by default, this option allows them to be
+                turned off.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:generic-booleanType"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+</xsd:schema>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_4_0_1.dtd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_4_0_1.dtd
new file mode 100644
index 0000000..cb34c91
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_4_0_1.dtd
@@ -0,0 +1,469 @@
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2019, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed 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.
+-->
+
+<!-- The JBoss specific elements used to integrate the servlet 2.4 web.xml
+elements into a JBoss deployment. This version applies to the JBoss 4.0.x
+releases.
+
+  <!DOCTYPE jboss-web PUBLIC
+    "-//JBoss//DTD Web Application 2.4//EN"
+    "http://www.jboss.org/j2ee/dtd/jboss-web_4_0_1.dtd">
+-->
+
+<!ENTITY % service-ref PUBLIC
+   "-//JBoss//DTD Web Service Reference 4.0//EN"
+   "http://www.jboss.org/j2ee/dtd/service-ref_4_0_1.dtd">
+  
+%service-ref;
+
+<!-- The jboss-web element is the root element.
+-->
+<!ELEMENT jboss-web (class-loading?, security-domain?, context-root?,
+   virtual-host*, use-session-cookies?, replication-config?, resource-env-ref*,
+   resource-ref*, security-role*, ejb-ref*, ejb-local-ref*, 
+   message-destination-ref*, message-destination*, 
+   webservice-description*, service-ref*, depends*, servlet*, authenticators*)>
+
+<!-- The class-loading element allows one to override the default class
+loading behavior of the web container. You can specify the
+Examples:
+   <class-loading java2ClassLoadingCompliance='false'/>
+
+   <class-loading java2ClassLoadingCompliance='false'>
+      <loader-repository loaderRepositoryClass='dot.com.LoaderRepository'>
+         ...
+      </loader-repository>
+   </class-loading>
+-->
+<!ELEMENT class-loading (loader-repository?)>
+<!-- The java2ClassLoadingCompliance attribute indicates if the normal Java2
+parent first class loading model should be used over the servlet 2.3 web
+container first model.
+-->
+<!ATTLIST class-loading java2ClassLoadingCompliance CDATA #IMPLIED>
+
+<!-- The loader-repository specifies the name of the UnifiedLoaderRepository
+   MBean to use for the ear to provide ear level scoping of classes deployed
+   in the ear. It is a unique JMX ObjectName string. It may also specify
+   an arbitrary configuration by including a loader-repository-config element.
+
+Examples:
+   <class-loading>
+   <loader-repository>jboss.test:loader=cts-cmp2v1-sar.ear</loader-repository>
+   </class-loading>
+
+   <class-loading java2ClassLoadingCompliance='false'>
+   <loader-repository loaderRepositoryClass='dot.com.LoaderRepository'>
+      dot.com:loader=unique-archive-name
+      <loader-repository-config configParserClass='dot.com.LoaderParser'>
+         java2ParentDelegaton=true
+      </loader-repository-config>
+   </loader-repository>
+   </class-loading>
+-->
+<!ELEMENT loader-repository (#PCDATA | loader-repository-config)*>
+<!-- The loaderRepositoryClass attribute gives the classname of the
+org.jboss.mx.loading.LoaderRepository implementation.
+-->
+<!ATTLIST loader-repository loaderRepositoryClass CDATA #IMPLIED>
+
+<!-- The loader-repository-config element specifies any arbitrary configuration
+fragment for use in configuring the loader-repository instance. The actual
+content of this element is specific to the loaderRepositoryClass and the
+code parsing the element.
+-->
+<!ELEMENT loader-repository-config (#PCDATA)>
+<!-- The configParserClass attribute gives the classname of the
+org.jboss.mx.loading.LoaderRepositoryFactory.LoaderRepositoryConfigParser
+implementation to use to parse the loader-repository-config content.
+-->
+<!ATTLIST loader-repository-config configParserClass CDATA #IMPLIED>
+
+<!-- The context-root element specifies the context root of a web
+application. This is normally specified at the ear level using the standard
+J2EE application.xml descriptor, but it may be given here for standalone wars.
+This should not override the application.xml level specification.
+-->
+<!ELEMENT context-root (#PCDATA)>
+
+<!-- The security-domain element allows one to specify a module wide
+security manager domain. It specifies the JNDI name of the security
+manager that implements the org.jboss.security.AuthenticationManager and
+org.jboss.security.RealmMapping interfaces for the domain.
+-->
+<!ELEMENT security-domain (#PCDATA)>
+
+<!-- The flushOnSessionInvalidation attribute is a boolean indicating whether
+the associated security domain cache should be flushed when the web session is
+invalidated. If true, the security manager service 
+flushAuthenticationCache(String, java.security.Principal) is called when the
+session is seen to be invalid due to expiration or explicit invalidation.
+-->
+<!ATTLIST security-domain flushOnSessionInvalidation (true|false) 'false'>
+
+<!-- The virtual-host element allows one to specify which virtual host the war
+should be deployed to. Example, to specify that a war should be deployed to the
+www.jboss-store.org virtual host add the following virtual-host element:
+   <virtual-host>www.jboss-store.org</virtual-host>
+-->
+<!ELEMENT virtual-host (#PCDATA)>
+
+<!--The resource-env-ref element maps from the servlet ENC relative name
+of the resource-env-ref to the deployment environment JNDI name of
+the administered object resource.
+Example:
+    <resource-env-ref>
+        <resource-env-ref-name>jms/NewsTopic</resource-env-ref-name>
+        <jndi-name>topic/NewsTopic</jndi-name>
+    </resource-env-ref>
+-->
+<!ELEMENT resource-env-ref (resource-env-ref-name , jndi-name)>
+
+<!-- The resource-env-ref-name specifies the name of the web.xml
+resource-env-ref-name element which this mapping applies.
+-->
+<!ELEMENT resource-env-ref-name (#PCDATA)>
+
+<!--The resource-ref element maps from the servlet ENC relative name
+of the resource-ref to the deployment environment JNDI name of
+the resource manager connection factory.
+Example:
+    <resource-ref>
+        <res-ref-name>jdbc/TheDataSource</res-ref-name>
+        <jndi-name>java:/DefaultDS</jndi-name>
+    </resource-ref>
+
+    <resource-ref>
+        <res-ref-name>jdbc/TheDataSource</res-ref-name>
+        <res-url>http://x.y.z</res-url>
+    </resource-ref>
+-->
+<!ELEMENT resource-ref (res-ref-name , (jndi-name | res-url))>
+
+<!-- The res-ref-name specifies the name of the web.xml res-ref-name element
+which this mapping applies.
+-->
+<!ELEMENT res-ref-name (#PCDATA)>
+
+<!--
+  The security-role element contains the definition of a security role.
+  The definition consists of an the security role name and principal name element(s).
+
+Used in: jboss-web
+
+Example:
+		<security-role>
+      <role-name>Manager</role-name>
+      <principal-name>j2ee</principal-name>
+      <principal-name>javajoe</principal-name>
+		</security-role>
+-->
+<!ELEMENT security-role (role-name, principal-name+)>
+
+<!--
+  The role-name element is the name of the role.
+
+  Used in: security-role
+-->
+<!ELEMENT role-name (#PCDATA)>
+
+<!--
+  The principal-name element is the name of the principal that is mapped
+  to the assembly role-name.
+
+  Used in: security-role
+-->
+<!ELEMENT principal-name (#PCDATA)>
+
+<!-- The ejb-ref element maps from the servlet ENC relative name
+of the ejb reference to the deployment environment JNDI name of
+the bean.
+Example:
+    <ejb-ref>
+        <ejb-ref-name>ejb/Bean0</ejb-ref-name>
+        <jndi-name>deployed/ejbs/Bean0</jndi-name>
+    </ejb-ref>
+-->
+<!ELEMENT ejb-ref (ejb-ref-name , jndi-name)>
+
+<!-- The ejb-local-ref element maps from the servlet ENC relative name
+of the ejb local reference to the deployment environment JNDI name of
+the bean.
+Example:
+    <ejb-local-ref>
+        <ejb-ref-name>ejb/Bean0</ejb-ref-name>
+        <local-jndi-name>deployed/ejbs/Bean0</local-jndi-name>
+    </ejb-local-ref>
+-->
+<!ELEMENT ejb-local-ref (ejb-ref-name , (local-jndi-name|jndi-name))>
+
+<!-- The ejb-ref-name element gives the ENC relative name used
+in the web.xml ejb-ref-name element.
+
+Used in: ejb-ref
+-->
+<!ELEMENT ejb-ref-name (#PCDATA)>
+
+<!-- The jndi-name element specifies the JNDI name of the deployed
+object to which the servlet ENC binding will link to via a JNDI
+LinkRef.
+
+Used in: resource-ref, resource-env-ref, ejb-ref, 
+         message-destination-ref, message-destination
+-->
+<!ELEMENT jndi-name (#PCDATA)>
+
+<!--
+  The JNDI name under with the local home interface should be bound
+
+  Used in: ejb-local-ref
+-->
+<!ELEMENT local-jndi-name (#PCDATA)>
+
+<!-- The res-url element value is a URL string for a resource-ref of
+res-type = java.net.URL. Using a res-url creates a binding of the URL
+instance under the java:comp/env. If you want to link to another binding
+of a URL, you can use the jndi-name to do so.
+
+// Binds the URL(http://x.y.z) under java:comp/env/jdbc/XYZHome
+<resource-ref>
+    <res-ref-name>jdbc/XYZHome</res-ref-name>
+    <res-url>http://x.y.z</res-url>
+</resource-ref>
+// Binds a link to urls/XYZHomePage under java:comp/env/jdbc/XYZHome
+<resource-ref>
+    <res-ref-name>jdbc/XYZHome</res-ref-name>
+    <res-url>urls/XYZHomePage</res-url>
+</resource-ref>
+
+   Used in: resource-ref
+-->
+<!ELEMENT res-url (#PCDATA)>
+
+<!--
+  The message-destination-ref element is used to configure the
+  jndi-name for a message-destination-ref in ejb-jar.xml
+
+  Used in: jboss-web
+-->
+<!ELEMENT message-destination-ref (message-destination-ref-name, jndi-name)>
+
+<!--
+  The message-destination-ref-name element identifies the
+  message-destination-ref. It must match the name in ejb-jar.xml
+
+  Used in: message-destination-ref
+-->
+<!ELEMENT message-destination-ref-name (#PCDATA)>
+
+<!--
+  The message-destination element is used to configure the
+  jndi-name for a message-destination in ejb-jar.xml
+
+  Used in: jboss-web
+-->
+<!ELEMENT message-destination (message-destination-name, jndi-name)>
+
+<!--
+  The message-destination-name element identifies the
+  message-destination. It must match the name in ejb-jar.xml
+
+  Used in: message-destination
+-->
+<!ELEMENT message-destination-name (#PCDATA)>
+
+<!-- The depends element gives a JMX ObjectName of a service on which the
+container or ejb depends.
+-->
+<!ELEMENT depends (#PCDATA)>
+
+<!-- The use-session-cookies element controls wether this context uses session cookies
+     or not.
+
+Example:
+     <use-session-cookies>true</use-session-cookies>
+-->
+<!ELEMENT use-session-cookies (#PCDATA)>
+
+
+<!--
+   HTTP Session clustering configuration (optional tags)
+-->
+<!ELEMENT replication-config (replication-trigger?, replication-granularity, replication-field-batch-mode?)>
+
+<!--
+   Clustering only: Determines when the container should consider that a session
+                    must be replicated accross the cluster.
+                    Possible values are:
+                    1 - "SET_AND_GET"
+                    2 - "SET_AND_NON_PRIMITIVE_GET" (default value)
+                    3 - "SET"
+
+   The first option is conservative but not optimal (performance-wise): it will replicate the
+   session even if its content has not been modified but simply accessed. There is no deterministic
+   way to know if the content of an attribute is not itself modified. Consequently, by default, no
+   hypothesis can be done. It is up to the developer to tell us if we can trust this policy.
+
+   The second option is conservative but will only replicate if a non-primitive Object has been
+   accessed (Integer, Long, String, etc. which are immutables). It is the default value.
+
+   The third option considers that the developer will explicitely call setAttribute on the session
+   if it has to be replicated.
+
+Examples:
+         <replication-trigger>SET_AND_GET</replication-trigger>
+      or
+         <replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-trigger>
+      or
+         <replication-trigger>SET</replication-trigger>
+-->
+<!ELEMENT replication-trigger (#PCDATA)>
+
+<!--
+   Clustering only: Determines the session replication granularity level.
+                    Possible values are:
+                    1 - "SESSION" (default)
+                    2 - "ATTRIBUTE"
+                    3 - "FIELD"
+
+   The first option indicates that replication is done per session instance, i.e. when
+   the session is considered modified, the whole session object will be serialized
+   and replicated. This is the preferred policy when the sessions are generally small.
+
+   The second option indicates that replication is performed only for the the dirty
+   attributes in the session, plus some session data, like lastAccessTime. For sessions
+   carrying large amounts of data, parts of which are infrequently accessed,
+   this option can increase replication performance.
+    
+Examples:
+         <replication-granularity>SESSION</replication-granularity>
+      or
+         <replication-granularity>ATTRIBUTE</replication-granularity>
+-->
+<!ELEMENT replication-granularity (#PCDATA)>
+
+<!--
+   Determine whether to batch the replication when the granularity level is set to FIELD.
+   Default is true.
+
+   If this is set to TRUE, that means we will replicate the pojo changes only during the
+   http request is finished. To use this, the JBossCacheAop transaction manager class will
+   need to be configured as BatchModeTransactionManager such that a user can still have
+   UserTransaction inside the http request. However, note that the cache will not particiapte
+   in the UserTransaction in this case.
+
+   If you want cache to participate in the UserTransaction, you can configure the transaction
+   manager class to JBossTransactionManager and set this option to FALSE. The result is for
+   those session attribute changes that are not under transaction will replicate instantaneously,
+   while those particiate under transaction will replicate only when the transaction is
+   completed.
+
+Examples:
+         <replication-field-batch-mode>TRUE</replication-field-batch-mode>
+      or
+         <replication-field-batch-mode>FALSE</replication-field-batch-mode>
+-->
+<!ELEMENT replication-field-batch-mode (true|false)>
+
+<!--
+Runtime information about a web service.
+
+wsdl-publish-location is optionally used to specify
+where the final wsdl and any dependent files should be stored.  This location
+resides on the file system from which deployment is initiated.
+
+-->
+<!ELEMENT webservice-description ( webservice-description-name, config-name?, config-file?, wsdl-publish-location? )>
+
+<!--
+Unique name of a webservice within a module
+-->
+<!ELEMENT webservice-description-name ( #PCDATA )>
+
+<!--
+file: URL of a directory to which a web-service-description's wsdl should be
+published during deployment.  Any required files will be published to this
+directory, preserving their location relative to the module-specific
+wsdl directory(META-INF/wsdl or WEB-INF/wsdl).
+
+Example :
+
+  For an ejb.jar whose webservices.xml wsdl-file element contains
+    META-INF/wsdl/a/Foo.wsdl
+
+  <wsdl-publish-location>file:/home/user1/publish
+  </wsdl-publish-location>
+
+  The final wsdl will be stored in /home/user1/publish/a/Foo.wsdl
+
+-->
+<!ELEMENT wsdl-publish-location ( #PCDATA )>
+
+<!-- The servlet element specifies servlet specific bindings. Currently this
+is only the run-as principal identity.
+
+   Used in: jboss-web
+-->
+<!ELEMENT servlet (servlet-name, run-as-principal?)>
+
+<!-- The servlet-name maps from the web.xml servlet/servlet-name to the
+jboss-web/servlet/servlet-name.
+   Used in: servlet
+-->
+<!ELEMENT servlet-name ( #PCDATA )>
+
+<!--
+  The run-as-principal element specifies whether a specific run-as identity is
+  to be used. If there is a run-as role defined for a servlet, there can also
+  be a run-as-principal defined here. If you don't define a run-as principal
+  the callee will see ctx.getUserPrincipal() == 'anonymous'
+
+  Used in: servlet
+-->
+<!ELEMENT run-as-principal ( #PCDATA )>
+
+<!--
+	Customize the tomcat authenticators at the context or web-app level.
+	These are keyed in by http-auth method specified in login-config in web.xml
+	
+	<authenticators>
+	    <authenticator>
+	      <key>BASIC</key>
+	      <value>org.apache.catalina.authenticator.BasicAuthenticator</value>
+	    </authenticator>
+	    <authenticator>
+	      <key>CLIENT-CERT</key>
+	      <value>org.apache.catalina.authenticator.SSLAuthenticator</value>
+	    </authenticator>
+	    <authenticator>
+	      <key>DIGEST</key>
+	      <value>org.apache.catalina.authenticator.DigestAuthenticator</value>
+	    </authenticator>
+	    <authenticator>
+	      <key>FORM</key>
+	      <value>org.apache.catalina.authenticator.FormAuthenticator</value>
+	    </authenticator>
+	    <authenticator>
+	      <key>NONE</key>
+	      <value>org.apache.catalina.authenticator.NonLoginAuthenticator</value>
+	    </authenticator>
+	 </authenticators> 
+-->
+
+<!ELEMENT authenticators (authenticator+)>
+<!ELEMENT authenticator ( key, value )>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_7_3_1.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_7_3_1.xsd
new file mode 100644
index 0000000..e19ea2b
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_7_3_1.xsd
@@ -0,0 +1,850 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2012, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed 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.
+-->
+
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+            targetNamespace="http://www.jboss.com/xml/ns/javaee"
+            xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+            xmlns:jboss="http://www.jboss.com/xml/ns/javaee"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+            elementFormDefault="qualified"
+            attributeFormDefault="unqualified"
+            version="7.3.1">
+
+   <xsd:annotation>
+      <xsd:documentation>
+         <![CDATA[
+
+	This is the XML Schema for the JBoss AS 7.0 web application deployment descriptor.
+	The deployment descriptor must be named "META-INF/jboss-web.xml" in
+	the WAR file.  All JBoss Web deployment descriptors must indicate
+	the JBoss schema by using the Java EE namespace:
+
+        http://www.jboss.com/xml/ns/javaee
+
+	and by indicating the version of the schema using the version element as shown below:
+
+        <jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
+           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+           xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/schema/jbossas/jboss-web_7_3_1.xsd"
+           version="7.3.1">
+
+	       ...
+
+        </jboss-web>
+
+	Instance documents may indicate the published version of
+	the schema using the xsi:schemaLocation attribute for the
+	Java EE namespace with the following location:
+
+	http://www.jboss.org/schema/jbossas/jboss-web_7_3_1.xsd
+
+	]]>
+      </xsd:documentation>
+   </xsd:annotation>
+
+   <xsd:annotation>
+      <xsd:documentation> The following conventions apply to all Java EE deployment descriptor
+         elements unless indicated otherwise. - In elements that specify a pathname to a file within
+         the same JAR file, relative filenames (i.e., those not starting with "/") are considered
+         relative to the root of the JAR file's namespace. Absolute filenames (i.e., those starting
+         with "/") also specify names in the root of the JAR file's namespace. In general, relative
+         names are preferred. The exception is .war files where absolute names are preferred for
+         consistency with the Servlet API. </xsd:documentation>
+   </xsd:annotation>
+
+   <xsd:import namespace="http://java.sun.com/xml/ns/javaee" schemaLocation="http://www.jboss.org/schema/jbossas/web-app_3_0.xsd"/>
+   <xsd:include schemaLocation="jboss-common_6_0_1.xsd"/>
+
+   <xsd:element name="jboss-web" type="jboss:jboss-webType">
+      <xsd:annotation>
+         <xsd:documentation>
+            This is the root element of jboss-web deployment descriptor.
+         </xsd:documentation>
+      </xsd:annotation>
+   </xsd:element>
+
+  <xsd:simpleType name="jboss-web-versionType">
+      <xsd:restriction base="xsd:token">
+         <xsd:enumeration value="7.4"/>
+      </xsd:restriction>
+  </xsd:simpleType>
+
+   <xsd:complexType name="jboss-webType">
+      <xsd:annotation>
+         <xsd:documentation> The jboss-web element is the root element of jboss-web.xml file. It contains
+            all the information used by jboss but not described in the web.xml file. All of it is optional.
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="context-root" type="jboss:context-rootType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="virtual-host" type="jboss:virtual-hostType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="annotation" type="jboss:annotationType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="listener" type="jboss:container-listenerType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="session-config" type="javaee:session-configType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="valve" type="jboss:valveType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="overlay" type="jboss:overlayType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="security-domain" type="jboss:security-domainType" minOccurs="0"/>
+         <xsd:element name="security-role" type="jboss:security-roleType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="jacc-star-role-allow" type="jboss:jacc-star-role-allowType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="disable-cross-context" type="jboss:disable-cross-contextType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="use-jboss-authorization" type="jboss:use-jboss-authorizationType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="disable-audit" type="jboss:disable-auditType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="servlet" type="jboss:servletType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="max-active-sessions" type="javaee:xsdIntegerType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="replication-config" type="jboss:replication-configType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="passivation-config" type="jboss:passivation-configType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="distinct-name" type="jboss:distinct-nameType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="symbolic-linking-enabled" type="jboss:symbolic-linked-allowedType" minOccurs="0" maxOccurs="1"/>
+         <xsd:group ref="jboss:jndiEnvironmentRefsGroup"/>
+         <xsd:element name="message-destination" type="jboss:message-destinationType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="webservice-description" type="jboss:webservice-descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="enable-websockets" type="jboss:enable-websocketsType" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+      <xsd:attribute name="version" type="jboss:jboss-web-versionType" use="required"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="container-listenerType">
+      <xsd:annotation>
+         <xsd:documentation>
+            Defines a web container listener. The module element allows specifying from which
+            module in the application server the specified class will be loaded. The listener type
+            element defines which events the listener will recieve from the web container.
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="class-name" type="javaee:string" minOccurs="1" maxOccurs="1"/>
+         <xsd:element name="module" type="javaee:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="listener-type" type="jboss:container-listener-typeType" minOccurs="1" maxOccurs="1"/>
+         <xsd:element name="param" type="javaee:param-valueType" minOccurs="0" maxOccurs="unbounded"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="container-listener-typeType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Sets the type of the container listener:
+                    1 - "LIFECYCLE": webapp lifecycle listener
+                    2 - "CONTAINER": webapp container listener
+                    3 - "SERVLET_INSTANCE": servlet instance listener
+                    4 - "SERVLET_LIFECYCLE": servlet lifecyle listener
+                    5 - "SERVLET_CONTAINER": servlet container (Catalina wrapper) listener
+
+            Example:
+                  <listener-type>LIFECYCLE</listener-type>
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string">
+            <xsd:enumeration value="LIFECYCLE"/>
+            <xsd:enumeration value="CONTAINER"/>
+            <xsd:enumeration value="SERVLET_INSTANCE"/>
+            <xsd:enumeration value="SERVLET_LIFECYCLE"/>
+            <xsd:enumeration value="SERVLET_CONTAINER"/>
+         </xsd:restriction>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="valveType">
+      <xsd:annotation>
+         <xsd:documentation>
+            Defines a web container valve. The module element allows specifying from which
+            module in the application server the specified class will be loaded. A container
+            valve is used to intercept the request that will be processed by the servlet. It
+            is invoked as part of a chain, before the invocation of the webapp's filter chain.
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="class-name" type="javaee:string" minOccurs="1" maxOccurs="1"/>
+         <xsd:element name="module" type="javaee:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="param" type="javaee:param-valueType" minOccurs="0" maxOccurs="unbounded"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="overlayType">
+      <xsd:annotation>
+         <xsd:documentation>
+            The overlay element specifies additional static files overlays for this
+            web application. The content of the element should be a folder in the
+            filesystem containing the static files that will overlay the webapp's
+            static files, similar to what happens with regular JAR overlays.
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="disable-cross-contextType">
+      <xsd:annotation>
+         <xsd:documentation>
+            The disable-cross-context element specifies if cross context
+            access should be enabled for this webapp, allowing it to use the
+            request dispatcher to access other webapps deployed in the
+            application server.
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:generic-booleanType"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="use-jboss-authorizationType">
+      <xsd:annotation>
+         <xsd:documentation>
+            The use-jboss-authorization element specifies if the JBoss
+            authorization layer should be used.
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:generic-booleanType"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="disable-auditType">
+      <xsd:annotation>
+         <xsd:documentation>
+            The disable-audit element specifies if the security audit logging
+            should be disabled.
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:generic-booleanType"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="distinct-nameType">
+      <xsd:annotation>
+         <xsd:documentation>
+            The distinct-name element specifies the EJB 3 distinct name for this
+            web application.
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="symbolic-linked-allowedType">
+       <xsd:annotation>
+          <xsd:documentation>
+             The symbolic-linked-allowed element specifies if symlinking is allowed in exploded deployments.
+          </xsd:documentation>
+       </xsd:annotation>
+       <xsd:simpleContent>
+          <xsd:restriction base="xsd:boolean"/>
+       </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="jacc-star-role-allowType">
+      <xsd:annotation>
+         <xsd:documentation>
+            The jacc-star-role-allow element specifies whether the
+            jacc permission generating agent in the web layer needs to generate a
+            WebResourcePermission(url,null) permission such that the jacc provider can
+            make a decision as to bypass authorization or not.
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:generic-booleanType"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="context-rootType">
+      <xsd:annotation>
+         <xsd:documentation>
+            The context-root element specifies the context root of a web
+            application. This is normally specified at the ear level using the standard
+            JEE application.xml descriptor, but it may be given here for standalone wars.
+            This should not override the application.xml level specification.
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="virtual-hostType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            The virtual-host element allows one to specify which virtual host the war
+            should be deployed to. Example, to specify that a war should be deployed to the
+            www.jboss-store.org virtual host add the following virtual-host element:
+            <virtual-host>www.jboss-store.org</virtual-host>
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="replication-configType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            HTTP Session clustering configuration (optional tags)
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="cache-name" type="jboss:cache-nameType" minOccurs="0"/>
+         <xsd:element name="replication-trigger" type="jboss:replication-triggerType" minOccurs="0"/>
+         <xsd:element name="replication-granularity" type="jboss:replication-granularityType" minOccurs="0"/>
+         <xsd:element name="replication-mode" type="jboss:replication-modeType" minOccurs="0"/>
+         <xsd:element name="backups" type="jboss:backupsType" minOccurs="0"/>
+         <xsd:element name="use-jk" type="jboss:use-jkType" minOccurs="0"/>
+         <xsd:element name="max-unreplicated-interval" type="jboss:max-unreplicated-intervalType" minOccurs="0"/>
+         <xsd:element name="snapshot-mode" type="jboss:snapshot-modeType" minOccurs="0"/>
+         <xsd:element name="snapshot-interval" type="jboss:snapshot-intervalType" minOccurs="0"/>
+         <xsd:element name="session-notification-policy" type="jboss:session-notification-policyType" minOccurs="0"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="cache-nameType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Name of the JBoss Cache or PojoCache configuration that
+            should be used for storing distributable sessions and replicating them around the
+            cluster.
+
+            Default value if not explicitly set is the overall web container default
+            as set in the deployers/jbossweb.deployer service.
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="replication-triggerType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Determines when the container should consider that a session
+            must be replicated across the cluster.
+            Possible values are:
+               1 - "ACCESS"
+               2 - "SET_AND_GET"
+               3 - "SET_AND_NON_PRIMITIVE_GET" (default value)
+               4 - "SET"
+
+            The rationale for this setting is that after a mutable object stored as a session attribute
+            is accessed from the session, in the absence of a setAttribute call the container has no
+            clear way to know if the object (and hence the session state) has been modified.
+
+            In all cases, calling setAttribute marks the session as needing replication.
+
+            ACCESS - merely accessing the session marks the session as dirty.
+
+            SET_AND_GET is conservative but not optimal (performance-wise): it will always replicate the
+            session even if its content has not been modified but simply accessed.
+
+            SET_AND_NON_PRIMITIVE_GET is conservative but will only replicate if a non-primitive Object
+            has been accessed (i.e. the object is not of a well-known immutable JDK type such as Integer,
+            Long, String, etc.) This is the default value.
+
+            SET assumes that the developer will explicitly call setAttribute on the session
+            if it needs to be replicated. This setting prevents unnecessary replication, but requires very
+            good coding practices to ensure setAttribute is always called whenever an attribute value
+            is modified.
+
+            Examples:
+                  <replication-trigger>SET_AND_GET</replication-trigger>
+               or
+                  <replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-trigger>
+               or
+                  <replication-trigger>SET</replication-trigger>
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string">
+            <xsd:enumeration value="ACCESS"/>
+            <xsd:enumeration value="SET_AND_GET"/>
+            <xsd:enumeration value="SET_AND_NON_PRIMITIVE_GET"/>
+            <xsd:enumeration value="SET"/>
+         </xsd:restriction>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="replication-granularityType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Determines the session replication granularity level.
+            Possible values are:
+                    1 - "SESSION" (default)
+                    2 - "ATTRIBUTE"
+
+            The first option indicates that replication is done per session instance, i.e. when
+            the session is considered modified, the whole session object will be serialized
+            and replicated. This is the preferred policy when the sessions are generally small.
+
+            The second option indicates that replication is performed only for the the dirty
+            attributes in the session, plus some session data, like lastAccessTime. For sessions
+            carrying large amounts of data, parts of which are infrequently accessed,
+            this option can increase replication performance.
+
+            A third option, "FIELD" was available in AS 4.x and AS 5.x, but it
+            is not supported by AS 6.
+
+            Examples:
+                  <replication-granularity>SESSION</replication-granularity>
+               or
+                  <replication-granularity>ATTRIBUTE</replication-granularity>
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string">
+            <xsd:enumeration value="SESSION"/>
+            <xsd:enumeration value="ATTRIBUTE"/>
+         </xsd:restriction>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="replication-modeType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Determines the session replication mode.
+            Possible values are:
+                1 - "SYNCHRONOUS"
+                2 - "ASYNCHRONOUS"
+
+            In SYNCHRONOUS mode, session replication occurs in the same thread that processes a given
+            request.  A request will not complete until the associated session is successfully replicated.
+
+            In ASYNCHRONOUS mode, session replication occurs in a separate thread from the one that processes
+            a given request.  The request thread only initiates replication, but does not wait for it to complete.
+
+            If not defined, the replication mode defined in the distributed cache configuration will be used.
+            In the default distributed session cache configuration, sessions replicate asynchronously.
+
+            Examples:
+                  <replication-mode>SYNCHRONOUS</replication-mode>
+               or
+                  <replication-mode>ASYNCHRONOUS</replication-mode>
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string">
+            <xsd:enumeration value="SYNCHRONOUS"/>
+            <xsd:enumeration value="ASYNCHRONOUS"/>
+         </xsd:restriction>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:simpleType name="backupsType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Defines the number of backup nodes on which to replicate
+            a given session.
+
+            Possible values are:
+                > 0 : Session will be replicated to *all* nodes (i.e. total replication)
+                  0 : Session will not be replicated (i.e. local mode)
+                < 0 : Session will be replicated only to the specified number of nodes (i.e. distribution mode)
+
+            Default value, if not explicitly set, is taken from the distributed cache
+            configuration.  By default, this is -1, i.e. total replication.
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:restriction base="xsd:integer"/>
+   </xsd:simpleType>
+
+   <xsd:complexType name="use-jkType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Whether the container should assume mod_jk is used for
+            load balancing for this webapp. If set to 'true', the container will examine
+            the session id associated with every request and replace the JvmRoute portion of
+            the session id if it detects a failover. In addition, for each host you will
+            need to set a unique JvmRoute inside the server.xml file, e.g.,
+
+            <Engine name="jboss.web" jvmRoute="Node1" defaultHost="localhost">
+               ...
+            </Engine>
+
+            Default value if not explicitly set is the overall web container default
+            as set in the deployers/jbossweb.deployer service. By default that is set
+            to "false".
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:generic-booleanType"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:simpleType name="max-unreplicated-intervalType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Determines the maximum interval between requests, in
+            seconds, after which a request will trigger replication of the session's
+            timestamp and other metadata regardless of whether the request has otherwise
+            made the session dirty.  Such replication ensures that other nodes in the
+            cluster are aware of the most recent value for the session's timestamp
+            and won't incorrectly expire an unreplicated session upon failover. It also
+            results in correct values for HttpSession.getLastAccessedTime() calls
+            following failover.
+
+            The cost of this metadata replication depends on the configured
+            replication-granularity. With <code>SESSION</code>, the session's
+            attribute map is replicated along with the metadata, so it can be fairly
+            costly.  With other granularities, the metadata object is replicated
+            separately from the attributes and only contains a String, and a few longs,
+            ints and booleans.
+
+            A value of 0 means the metadata will be replicated whenever the session is
+            accessed.  A value of -1 means the metadata will be replicated only if some
+            other activity during the request (e.g. modifying an attribute) has
+            resulted in other replication work involving the session. A positive value
+            greater than the HttpSession.getMaxInactiveInterval() value will be treated
+            as a likely misconfiguration and converted to 0; i.e. replicate the
+            metadata on every request.
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:restriction base="xsd:integer"/>
+   </xsd:simpleType>
+
+   <xsd:complexType name="snapshot-modeType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Defines when the sessions are replicated to the other nodes.
+            The typical value, "instant", replicates changes to the other nodes at the end
+            of requests, using the request processing thread to perform the replication.
+            In this case, the "snapshot-interval" property is ignored.
+            With "interval" mode, a background process is created that runs every
+            "snapshot-interval" milliseconds, checking for modified sessions and replicating
+            them.
+
+            Default value if not explicitly set is the overall web container default
+            as set in the deployers/jbossweb.deployer service. By default that is set
+            to "instant".
+
+            Note that this property has no effect if replication-granularity
+            is set to FIELD. If it is FIELD, "instant" mode will be used.
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string">
+            <xsd:enumeration value="INSTANT"/>
+            <xsd:enumeration value="FIELD"/>
+         </xsd:restriction>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:simpleType name="snapshot-intervalType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Defines how often (in milliseconds) the background
+            process that replicates modified sessions should be started for this
+            web app.  Only meaningful if snapshot-mode is set to "interval".
+
+            Default value if not explicitly set is the overall web container default
+            as set in the deployers/jbossweb.deployer service. By default that is set
+            to "1000".
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:restriction base="xsd:integer"/>
+   </xsd:simpleType>
+
+   <xsd:complexType name="session-notification-policyType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Fully qualified class name of the implementation of the
+            org.jboss.web.tomcat.service.session.notification.ClusteredSessionNotificationPolicy
+            interface that should be used to govern whether servlet specification
+            notifications should be emitted to any registered HttpSessionListener,
+            HttpSessionAttributeListener and/or HttpSessionBindingListener.
+            Event notifications that may make sense in a non-clustered environment
+            may or may not make sense in a clustered environment; configuring an
+            appropriate ClusteredSessionNotificationPolicy gives the application
+            author fine-grained control over what notifications are issued.
+
+            Default value if not explicitly set is the
+            org.jboss.web.tomcat.service.session.notification.IgnoreUndeployLegacyClusteredSessionNotificationPolicy.
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:fully-qualified-classType"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="servletType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            The servlet element specifies servlet specific bindings. Currently this
+            is only the run-as principal identity.
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element name="servlet-name" type="javaee:string"/>
+         <xsd:element name="run-as-principal" type="javaee:role-nameType" minOccurs="0">
+            <xsd:annotation>
+               <xsd:documentation>
+                  The run-as-principal element specifies whether a specific run-as identity is
+                  to be used. If there is a run-as role defined for a servlet, there can also
+                  be a run-as-principal defined here. If you don't define a run-as principal
+                  the callee will see ctx.getUserPrincipal() == 'anonymous'
+               </xsd:documentation>
+            </xsd:annotation>
+         </xsd:element>
+         <xsd:element name="servlet-security" type="jboss:servlet-securityType" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:simpleType name="max-active-sessionsType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Determines the max number of active sessions allowed.
+            If the number of sessions managed by the the session manager exceeds this value and
+            passivation is enabled, the excess will be passivated based on the configured
+            passivation-min-idle-time.
+            If after passivation is completed (or if passivation is disabled), the number of
+            active sessions still exceeds this limit, attempts to create new sessions
+            will be rejected.
+            If set to -1, means no limit
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:restriction base="xsd:integer"/>
+   </xsd:simpleType>
+
+   <xsd:complexType name="passivation-configType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: HTTP Session passivation configuration.
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="use-session-passivation" type="jboss:use-session-passivationType" minOccurs="0"/>
+         <xsd:element name="passivation-min-idle-time" type="jboss:passivation-idle-timeType" minOccurs="0">
+            <xsd:annotation>
+               <xsd:documentation>
+                  <![CDATA[
+
+                  Determines the minimum time (in seconds) that a session must have been inactive
+                  before the container will consider passivating it in order to reduce the
+                  active session count below max-active-sessions.
+                  A value of -1 (the default) disables passivating sessions before
+                  passivation-max-idle-time.  Neither a value of -1 nor a high
+                  value are recommended if max-active-sessions is set
+
+                  Example:
+                     <passivation-min-idle-time>30</passivation-min-idle-time> (seconds)
+
+                  ]]>
+               </xsd:documentation>
+            </xsd:annotation>
+         </xsd:element>
+         <xsd:element name="passivation-max-idle-time" type="jboss:passivation-idle-timeType" minOccurs="0">
+            <xsd:annotation>
+               <xsd:documentation>
+                  <![CDATA[
+
+                  Determines the maximum time (in seconds) that a session can be inactive before
+                  the container should attempt to passivate it to save memory. Passivation of such
+                  sessions will take place regardless of whether the active session count exceeds
+                  max-active-sessions.
+                  Should be less than the web.xml session-timeout setting.
+                  A value of -1 disables passivation based on maximum inactivity.
+
+                  Example:
+                     <passivation-max-idle-time>300</passivation-max-idle-time> (seconds)
+
+                  ]]>
+               </xsd:documentation>
+            </xsd:annotation>
+         </xsd:element>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="use-session-passivationType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Determines whether the web application should use session passivation or not
+
+            Examples:
+                  <use-session-passivation>true</use-session-passivation>
+               or
+                  <use-session-passivation>false</use-session-passivation> (default value)
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:generic-booleanType"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:simpleType name="passivation-idle-timeType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Determines the time (in seconds) that a session can be inactive before
+            the container should attempt to passivate it.
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:restriction base="xsd:integer"/>
+   </xsd:simpleType>
+
+   <xsd:complexType name="annotationType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            The annotation element specifies annotation specific bindings. This allows
+            overriding the @ServletSecurity, @RunAs and @MultipartConfig, which apply
+            on a Servlet class rather than a Servlet name. They have the same structure
+            and element names as the corresponding annotation.
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element name="class-name" type="javaee:string"/>
+         <xsd:element name="servlet-security" type="jboss:servlet-securityType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="run-as" type="jboss:run-asType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="multipart-config" type="jboss:multipart-configType" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="run-asType">
+    <xsd:sequence>
+      <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="role-name" type="javaee:string"/>
+    </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="servlet-securityType">
+    <xsd:sequence>
+      <xsd:element name="empty-role-semantic" type="javaee:string"/>
+      <xsd:element name="transport-guarantee" type="javaee:transport-guaranteeType"/>
+      <xsd:element name="roles-allowed" type="javaee:role-nameType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="http-method-constraint" type="jboss:http-method-constraintType" minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="http-method-constraintType">
+    <xsd:sequence>
+      <xsd:element name="method" type="javaee:string" minOccurs="1" maxOccurs="1"/>
+      <xsd:element name="empty-role-semantic" type="jboss:empty-role-semanticType"/>
+      <xsd:element name="transport-guarantee" type="javaee:transport-guaranteeType"/>
+      <xsd:element name="roles-allowed" type="javaee:role-nameType" minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="empty-role-semanticType">
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string">
+            <xsd:enumeration value="PERMIT"/>
+            <xsd:enumeration value="DENY"/>
+         </xsd:restriction>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+  <xsd:complexType name="multipart-configType">
+    <xsd:sequence>
+      <xsd:element name="location" type="javaee:string" minOccurs="0" maxOccurs="1"/>
+      <xsd:element name="max-file-size" type="xsd:long" minOccurs="0" maxOccurs="1"/>
+      <xsd:element name="max-request-size" type="xsd:long" minOccurs="0" maxOccurs="1"/>
+      <xsd:element name="file-size-threshold" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
+    </xsd:sequence>
+  </xsd:complexType>
+  
+  <xsd:complexType name="enable-websocketsType">
+      <xsd:annotation>
+         <xsd:documentation>
+            The enable-websockets element specifies if websockets
+            access should be enabled for this webapp. Java version should be at least
+             1.7 for this to work.
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:generic-booleanType"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+</xsd:schema>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss_4_0_1.dtd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss_4_0_1.dtd
new file mode 100644
index 0000000..928a0e6
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss_4_0_1.dtd
@@ -0,0 +1,1735 @@
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2019, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed 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.
+-->
+
+<!--
+$Id: jboss_4_0.dtd 73541 2008-05-20 22:17:16Z alex.loubyansky@jboss.com $
+
+This is the XML DTD for the JBoss 4.0 EJB deployment descriptor.
+The DOCTYPE is:
+
+  <!DOCTYPE jboss PUBLIC
+      "-//JBoss//DTD JBOSS 4.0//EN"
+      "http://www.jboss.org/dtd/jbossas/jboss_4_0_1.dtd">
+
+Overview of the architecture of jboss.xml
+
+<jboss>
+
+  <enforce-ejb-restrictions />
+  <security-domain />
+  <unauthenticated-principal />
+  <webservices>
+    <context-root>
+    <webservice-description>
+      <webservice-description-name>
+      <wsdl-publish-location>
+    </webservice-description>
+  <webservices>
+
+  <enterprise-beans>
+
+    <entity>
+      <ejb-name />
+      <jndi-name />
+      <local-jndi-name />
+      <call-by-value>
+      <read-only>
+      <call-by-value>
+      <configuration-name>
+      <security-proxy>
+      <ejb-ref>
+      <ejb-local-ref>
+      <service-ref>
+      <security-identity>
+        <run-as-principal>
+      </security-identity>
+      <resource-ref>
+        <res-ref-name />
+        <resource-name />
+      </resource-ref>
+      <resource-env-ref>
+      <clustered />
+      <cluster-config>
+    </entity>
+
+    <session>
+      <ejb-name />
+      <jndi-name />
+      <local-jndi-name />
+      <call-by-value>
+      <configuration-name>
+      <security-proxy>
+      <ejb-ref>
+      <ejb-local-ref>
+      <service-ref>
+      <security-identity>
+        <run-as-principal>
+      </security-identity>
+      <resource-ref>
+        <res-ref-name />
+        <resource-name />
+      </resource-ref>
+      <resource-env-ref>
+      <clustered />
+      <cluster-config>
+      <port-component>
+        <port-component-name>
+        <port-component-uri>
+        <auth-method>
+        <transport-guarantee>
+      </port-component>
+    </session>
+
+    <message-driven>
+      <ejb-name>
+      <destination-jndi-name>
+      <mdb-user>
+      <mdb-passwd>
+      <mdb-client-id>
+      <mdb-subscription-id>
+      <resource-adapter-name>
+      <configuration-name>
+      <security-proxy>
+      <ejb-ref>
+      <service-ref>
+      <security-identity>
+        <run-as-principal>
+      </security-identity>
+      <resource-ref>
+      <resource-env-ref>
+    </message-driven>
+
+  </enterprise-beans>
+
+  <assembly-descriptor>
+    <security-role>
+      <role-name>
+      <principal-name>
+    </security-role>
+  </assembly-descriptor>
+
+  <resource-managers>
+
+    <resource-manager>
+      <res-name />
+      <res-jndi-name />
+    </resource-manager>
+
+    <resource-manager>
+      <res-name />
+      <res-url />
+    </resource-manager>
+
+  </resource-managers>
+
+  <container-configurations>
+
+    <container-configuration>
+      <container-name />
+      <call-logging />
+      <invoker-proxy-binding-name />
+      <sync-on-commit-only />
+      <insert-after-ejb-post-create />
+      <call-ejb-store-on-clean />
+      <store-not-flushed />
+      <container-interceptors />
+      <instance-pool />
+      <instance-cache />
+      <persistence-manager />
+      <web-class-loader />
+      <locking-policy />
+      <container-cache-conf />
+      <container-pool-conf />
+      <commit-option />
+      <optiond-refresh-rate />
+      <security-domain />
+      <cluster-config />
+      <depends />
+    </container-configuration>
+
+  </container-configurations>
+
+</jboss>
+-->
+
+<!ENTITY % service-ref PUBLIC
+   "-//JBoss//DTD Web Service Reference 4.0//EN"
+   "http://www.jboss.org/j2ee/dtd/service-ref_4_0_1.dtd">
+  
+%service-ref;
+
+<!--
+  The jboss element is the root element of the jboss.xml file. It
+  contains all the information used by jboss but not described in the
+  ejb-jar.xml file. All of it is optional.
+
+  1- the application assembler can define custom container configurations
+     for the beans. Standard configurations are provided in standardjboss.xml
+  2- the deployer can override the jndi names under which the beans are deployed
+  3- the deployer can specify runtime jndi names for resource managers.
+
+-->
+<!ELEMENT jboss (loader-repository?, jmx-name?, enforce-ejb-restrictions?,
+ security-domain?, missing-method-permissions-excluded-mode?,
+ unauthenticated-principal?, exception-on-rollback?,
+ webservices?, enterprise-beans?, assembly-descriptor?,
+ resource-managers?, invoker-proxy-bindings?, container-configurations?)>
+
+<!-- The loader-repository specifies the name of the UnifiedLoaderRepository
+   MBean to use for the ear to provide ear level scoping of classes deployed
+   in the ear. It is a unique JMX ObjectName string. It may also specify
+   an arbitrary configuration by including a loader-repository-config element.
+
+Examples:
+   <loader-repository>jboss.test:loader=cts-cmp2v1-sar.ear</loader-repository>
+
+   <loader-repository loaderRepositoryClass='dot.com.LoaderRepository'>
+      dot.com:loader=unique-archive-name
+      <loader-repository-config configParserClass='dot.com.LoaderParser'>
+         java2ParentDelegaton=true
+      </loader-repository-config>
+   </loader-repository>
+-->
+<!ELEMENT loader-repository (#PCDATA | loader-repository-config)*>
+
+<!-- The loaderRepositoryClass attribute gives the classname of the
+org.jboss.mx.loading.LoaderRepository implementation.
+-->
+<!ATTLIST loader-repository loaderRepositoryClass CDATA #IMPLIED>
+
+<!-- The loader-repository-config element specifies any arbitrary configuration
+fragment for use in configuring the loader-repository instance. The actual
+content of this element is specific to the loaderRepositoryClass and the
+code parsing the element.
+-->
+<!ELEMENT loader-repository-config (#PCDATA)>
+
+<!-- The configParserClass attribute gives the classname of the
+org.jboss.mx.loading.LoaderRepositoryFactory.LoaderRepositoryConfigParser
+implementation to use to parse the loader-repository-config content.
+-->
+<!ATTLIST loader-repository-config configParserClass CDATA #IMPLIED>
+
+<!-- The jmx-name element allows one to specify the JMX ObjectName to use
+for the MBean associated with the ejb-jar module. This must be a unique
+name and valid JMX ObjectName string.
+
+   Used in: jboss
+-->
+<!ELEMENT jmx-name (#PCDATA)>
+
+<!--
+  The enforce-ejb-restrictions element tells the container to enforce ejb1.1 restrictions
+  It must be one of the following :
+    <enforce-ejb-restrictions>true</enforce-ejb-restrictions>
+    <enforce-ejb-restrictions>false</enforce-ejb-restrictions>
+
+  Used in: jboss
+-->
+<!ELEMENT enforce-ejb-restrictions (#PCDATA)>
+
+<!--
+  The security-domain element specifies the JNDI name of the security
+  manager that implements the EJBSecurityManager and RealmMapping for
+  the domain. When specified at the jboss level it specifies the security
+  domain for all j2ee components in the deployment unit.
+  One can override the global security-domain at the container
+  level using the security-domain element at the container-configuration
+  level.
+
+  Used in: jboss, container-configuration
+-->
+<!ELEMENT security-domain (#PCDATA)>
+
+<!-- The missing-method-permissions-excluded-mode determines the treatment
+of missing method-permission mappings in the ejb-jar descriptor. The ejb 2.1
+spec states: "It is possible that some methods are not assigned to any security
+roles nor contained in the exclude-list element. In this case, it is the
+responsibility of the Deployer to assign method permissions for all of the
+unspecified methods, either by assigning them to security roles, or by marking
+them as unchecked." The missing-method-permissions-excluded-mode is a boolean
+that allows the deployer to globally indicate that all methods without a
+method-permission element should be treated as excluded(= true and the default),
+or that methods without a method-permission element should be treated as
+unchecked(= false)
+
+<missing-method-permissions-excluded-mode>true</missing-method-permissions-excluded-mode>
+<missing-method-permissions-excluded-mode>false</missing-method-permissions-excluded-mode>
+
+-->
+<!ELEMENT missing-method-permissions-excluded-mode (#PCDATA)>
+
+<!--
+  The unauthenticated-principal element specifies the name of the principal
+  that will be returned by the EJBContext.getCallerPrincipal() method if there
+  is no authenticated user. This Principal has no roles or privaledges to call
+  any other beans.
+-->
+<!ELEMENT unauthenticated-principal (#PCDATA)>
+
+<!-- The invoker-proxy-bindings defines the invokers available for use with
+the ejb container configurations.
+-->
+<!ELEMENT invoker-proxy-bindings (invoker-proxy-binding*)>
+
+<!-- The invoker-proxy-binding defines an invoker service and proxy factory
+-->
+<!ELEMENT invoker-proxy-binding (name, invoker-mbean, proxy-factory, proxy-factory-config)>
+
+<!-- The name gives a unique name for the invoker-proxy-binding
+-->
+<!ELEMENT name (#PCDATA)>
+
+<!-- The invoker-mbean gives the JMX ObjectName of the invoker MBean service
+-->
+<!ELEMENT invoker-mbean (#PCDATA)>
+
+<!-- The org.jboss.ejb.EJBProxyFactory implementation class
+-->
+<!ELEMENT proxy-factory (#PCDATA)>
+
+<!-- The proxy-factory-config defines the client-interceptors stack
+and other configuration options to use for the various EJB proxies.
+-->
+<!ELEMENT proxy-factory-config (client-interceptors?, endpoint-interceptors? , web-class-loader? ,
+activation-config?, JMSProviderAdapterJNDI? , ServerSessionPoolFactoryJNDI? , 
+CreateJBossMQDestination? , MinimumSize? , MaximumSize? ,
+KeepAliveMillis? , MaxMessages? , MDBConfig? , poa? , register-ejbs-in-jnp-context? , 
+jnp-context? , interface-repository-supported?)>
+
+<!--
+  The jndi name of the jms provider adapter in the java:/ namespace.
+  This is mandatory for an MDB and must implement
+  org.jboss.jms.jndi.JMSProviderAdapter
+
+  Used in: proxy-factory-config for JMSContainerInvoker
+-->
+<!ELEMENT JMSProviderAdapterJNDI (#PCDATA)>
+
+<!--
+  The jndi name of the session pool in the java:/ namespace.
+  This is mandatory for an MDB and must implement
+  org.jboss.jms.asf.ServerSessionPoolFactory
+
+  Used in: proxy-factory-config for JMSContainerInvoker
+-->
+<!ELEMENT ServerSessionPoolFactoryJNDI (#PCDATA)>
+
+<!--
+  Whether to create destinations in JBossMQ if the
+  destination cannot be found.
+
+  Used in: proxy-factory-config for JMSContainerInvoker
+-->
+<!ELEMENT CreateJBossMQDestination (#PCDATA)>
+
+<!--
+  The maximum number of messages parameter for the mdb's
+  connection consumer.
+
+  Used in: proxy-factory-config for JMSContainerInvoker
+-->
+<!ELEMENT MaxMessages (#PCDATA)>
+
+<!--
+  Configuration for the MDB
+
+  Used in: proxy-factory-config for JMSContainerInvoker
+-->
+<!ELEMENT MDBConfig (ReconnectIntervalSec , DeliveryActive? , DLQConfig?)>
+
+<!--
+  The time to wait (in seconds) before trying to recover
+  the connection to the JMS server.
+
+  Used in: MDBConfig
+-->
+<!ELEMENT ReconnectIntervalSec (#PCDATA)>
+
+<!--
+  Whether delivery of messages is active at startup,
+  valid values are "True" or "False".
+
+  Used in: MDBConfig
+-->
+<!ELEMENT DeliveryActive (#PCDATA)>
+
+<!--
+  Configuration for an MDB's dead letter queue, used
+  when messages are redelivered too many times.
+
+  Used in: MDBConfig
+-->
+<!ELEMENT DLQConfig (DestinationQueue , MaxTimesRedelivered , TimeToLive, DLQUser?,  DLQPassword?)>
+
+<!--
+  The jndi name of the queue to use as the dead letter queue.
+
+  Used in: DLQConfig
+-->
+<!ELEMENT DestinationQueue (#PCDATA)>
+
+<!--
+  The maximum number of times a message is redelivered before it
+  is placed in the dead letter queue.
+
+  Used in: DLQConfig
+-->
+<!ELEMENT MaxTimesRedelivered (#PCDATA)>
+
+<!--
+  The time-to-live of the message in the dead letter queue.
+  See javax.jms.Message
+
+  Used in: DLQConfig
+-->
+<!ELEMENT TimeToLive (#PCDATA)>
+
+<!--
+  The user for the dlq connection
+
+  Used in: DLQConfig
+-->
+<!ELEMENT DLQUser (#PCDATA)>
+
+<!--
+  The password for the dlq connection
+
+  Used in: DLQConfig
+-->
+<!ELEMENT DLQPassword (#PCDATA)>
+
+<!--
+  The portable object adapter usage, one of
+  <poa>per-servent</poa>
+  <poa>shared</poa>
+
+  Used in: proxy-factory-config for IORFactory
+-->
+<!ELEMENT poa (#PCDATA)>
+
+<!--
+  Whether to register ejbs in jnp (jndi)
+
+  Used in: proxy-factory-config for IORFactory
+-->
+<!ELEMENT register-ejbs-in-jnp-context (#PCDATA)>
+
+<!--
+  The jndi context in which to register ejbs
+
+  Used in: proxy-factory-config for IORFactory
+-->
+<!ELEMENT jnp-context (#PCDATA)>
+
+<!--
+  Whether a deployed ejb has its own CORBA interface repository or not
+
+  Used in: proxy-factory-config for IORFactory
+-->
+<!ELEMENT interface-repository-supported (#PCDATA)>
+
+<!--
+  The enterprise-beans element contains additional information about
+  the beans. These informations, such as jndi names, resource managers and
+  container configurations, are specific to jboss and not described in
+  ejb-jar.xml.
+
+  jboss will provide a standard behaviour if no enterprise-beans element
+  is found, see container-configurations, jndi-name and resource-managers
+  for defaults.
+
+  Used in: jboss
+-->
+<!ELEMENT webservices (context-root?, webservice-description*)>
+
+<!-- The context-root element specifies the context root of the web
+application that the EJB service endpoints are deployed to. 
+If it is not specified it will be derived from the deployment short name.
+-->
+<!ELEMENT context-root (#PCDATA)>
+
+<!--
+Runtime information about a web service.
+wsdl-publish-location is optionally used to specify
+where the final wsdl and any dependent files should be stored.  This location
+resides on the file system from which deployment is initiated.
+-->
+<!ELEMENT webservice-description ( webservice-description-name, config-name?, config-file?, wsdl-publish-location? )>
+
+<!--
+Unique name of a webservice within a module. It corresponds to the <webservice-description-name>
+element in webservices.xml
+-->
+<!ELEMENT webservice-description-name ( #PCDATA )>
+
+<!--
+file: URL of a directory to which a web-service-description's wsdl should be
+published during deployment.  Any required files will be published to this
+directory, preserving their location relative to the module-specific
+wsdl directory(META-INF/wsdl or WEB-INF/wsdl).
+Example :
+  For an ejb.jar whose webservices.xml wsdl-file element contains
+    META-INF/wsdl/a/Foo.wsdl
+  <wsdl-publish-location>file:/home/user1/publish
+  </wsdl-publish-location>
+  The final wsdl will be stored in /home/user1/publish/a/Foo.wsdl
+-->
+<!ELEMENT wsdl-publish-location ( #PCDATA )>
+
+<!--
+  The enterprise-beans element contains additional information about
+  the beans. These informations, such as jndi names, resource managers and
+  container configurations, are specific to jboss and not described in
+  ejb-jar.xml.
+  jboss will provide a standard behaviour if no enterprise-beans element
+  is found, see container-configurations, jndi-name and resource-managers
+  for defaults.
+  Used in: jboss
+-->
+<!ELEMENT enterprise-beans ((session | entity | message-driven)*)>
+
+<!--
+  The entity element holds information specific to jboss and not declared
+  in ejb-jar.xml about an entity bean, such as jndi name, container
+  configuration, and resource managers. (see tags for details)
+  The bean should already be declared in ejb-jar.xml, with the same
+  ejb-name.
+
+  Used in: enterprise-beans
+-->
+<!ELEMENT entity (ejb-name , jndi-name? , local-jndi-name? , call-by-value?, read-only?,
+ exception-on-rollback?, timer-persistence?, configuration-name? , invoker-bindings?,
+ security-proxy? , ejb-ref* , ejb-local-ref* , service-ref*, security-identity? ,
+ resource-ref* , resource-env-ref*, message-destination-ref* , method-attributes? ,
+ clustered? , cluster-config?, cache-invalidation? , cache-invalidation-config?,
+ depends*, ior-security-config?)>
+<!-- Allow the entity to have a unique id -->
+<!ATTLIST entity id ID #IMPLIED>
+<!--
+  The session element holds information specific to jboss and not declared
+  in ejb-jar.xml about a session bean, such as jndi name, container
+  configuration, and resource managers. (see tags for details)
+  The bean should already be declared in ejb-jar.xml, with the same
+  ejb-name.
+
+  Used in: enterprise-beans
+-->
+<!ELEMENT session (ejb-name , jndi-name? , local-jndi-name?, call-by-value?,
+ exception-on-rollback?, timer-persistence?, configuration-name?, invoker-bindings?,
+ security-proxy? , ejb-ref* ,  ejb-local-ref* , service-ref*, security-identity? ,
+ resource-ref* , resource-env-ref*, message-destination-ref* , clustered? ,
+ cluster-config?, method-attributes?, depends*,
+ ior-security-config?, port-component*,  ejb-timeout-identity?)>
+<!-- Allow the session to have a unique id -->
+<!ATTLIST session id ID #IMPLIED>
+
+<!--
+  The message-driven element holds information specific to jboss and not declared
+  in ejb-jar.xml about a message-driven bean, such as container
+  configuration and resources.
+  The bean should already be declared in ejb-jar.xml, with the same
+  ejb-name.
+
+  Used in: enterprise-beans
+-->
+<!ELEMENT message-driven (ejb-name , activation-config?, destination-jndi-name? ,
+ local-jndi-name?,
+ mdb-user?,  mdb-passwd? , mdb-client-id? , mdb-subscription-id? , resource-adapter-name? ,
+ exception-on-rollback?, timer-persistence?, configuration-name? , invoker-bindings?,
+ security-proxy? , ejb-ref* ,  ejb-local-ref*, service-ref*, security-identity?, resource-ref*,
+ resource-env-ref*, message-destination-ref*, depends*, ior-security-config?,
+ ejb-timeout-identity?)>
+<!-- Allow the message-driven to have a unique id -->
+<!ATTLIST message-driven id ID #IMPLIED>
+
+<!--
+  The ejb-name element gives the name of the bean, it must correspond to
+  an ejb-name element in ejb-jar.xml
+
+  Used in: entity, session, and message-driven
+-->
+<!ELEMENT ejb-name (#PCDATA)>
+
+<!--
+  The jndi-name element gives the actual jndi name under which
+  the bean will be deployed when used in the entity, session and
+  message-driven elements. If it is not provided jboss will assume
+  "jndi-name" = "ejb-name"
+
+  When used in the ejb-ref,  ejb-local-ref, resource-ref, resource-env-ref, 
+  message-destination-ref, message-destination elements this specifies the jndi name to 
+  which the reference should link.
+
+  Used in: entity, session and message-driven
+    ejb-ref, resource-ref, resource-env-ref
+-->
+<!ELEMENT jndi-name (#PCDATA)>
+
+<!--
+  The JNDI name under with the local home interface should be bound
+
+  Used in: entity and session
+-->
+<!ELEMENT local-jndi-name (#PCDATA)>
+
+<!--
+  Determine if the bean should use by value call semantics
+
+  Used in: entity and session
+-->
+<!ELEMENT call-by-value (#PCDATA)>
+
+<!--
+  The read-only element flags an entity bean as read only.
+  The bean will never be ejbStored. Defaults to false.
+  It must be one of the following :
+    <read-only>true</read-only>
+    <read-only>false</read-only>
+
+  Used in: entity
+-->
+<!ELEMENT read-only (#PCDATA)>
+
+<!--
+  Whether to throw an exception if the CMT controlled
+  transaction is no longer active (e.g. marked rollback)
+  but the application has not itself thrown an exception.
+  If the bean specifies false, it uses the
+  jboss/exception-on-rollback config.
+  Defaults to false.
+  It must be one of the following :
+    <exception-on-rollback>true</exception-on-rollback>
+    <exception-on-rollback>false</exception-on-rollback>
+
+  Used in: jboss, session, entity and message-driven
+-->
+<!ELEMENT exception-on-rollback (#PCDATA)>
+
+<!--
+  The timer-persistence element determines whether ejb timers should
+  be persisted across application redeployment. Defaults to true.
+  
+  It must be one of the following:
+    <timer-persistence>true</timer-persistence>
+    <timer-persistence>false</timer-persistence>
+  
+  Used in: session, entity and message-driven
+-->
+<!ELEMENT timer-persistence (#PCDATA)>
+
+<!--
+  The configuration-name element gives the name of the container
+  configuration for this bean. It must match one of the container-name
+  tags in the container-configurations section, or one of the standard
+  configurations. If no element is provided, jboss will automatically use the
+  right standard configuration, see container-configurations.
+
+  Note: unlike earlier releases, this element may not be specified as an
+   empty element to achieve the same effect as not specifying the element.
+
+  Used in: entity, session, and message-driven
+-->
+<!ELEMENT configuration-name (#PCDATA)>
+
+<!-- The depends element gives a JMX ObjectName of a service on which the
+container or ejb depends.
+-->
+<!ELEMENT depends (#PCDATA)>
+
+<!-- The queue/topic jndi name from which we receive messages -->
+<!ELEMENT destination-jndi-name (#PCDATA)>
+
+<!-- The optional user for the jms connection that delivers messages -->
+<!ELEMENT mdb-user (#PCDATA)>
+
+<!-- The optional password for the jms connection that delivers messages -->
+<!ELEMENT mdb-passwd (#PCDATA)>
+
+<!-- The optional client-id for the jms connection that delivers messages -->
+<!ELEMENT mdb-client-id (#PCDATA)>
+
+<!-- The subscription name for topic delivery -->
+<!ELEMENT mdb-subscription-id (#PCDATA)>
+
+<!-- The name of the rar used in JCA 1.5 message inflow
+e.g.
+   <resource-adapter-name>jms-ra.rar</resource-adapter-name>
+or for embedded rars
+   <resource-adapter-name>myapp.ear#myconnector.rar</resource-adapter-name>
+-->
+<!ELEMENT resource-adapter-name (#PCDATA)>
+
+<!-- The security-proxy gives the class name of the security proxy implementation.
+  This may be an instance of org.jboss.security.SecurityProxy, or an
+  just an object that implements methods in the home or remote interface
+  of an EJB without implementating any common interface.
+
+      Used in: entity, session, and message-driven
+-->
+<!ELEMENT security-proxy (#PCDATA)>
+
+<!--
+  The ejb-ref element is used to give the jndi-name of an external
+  ejb reference. In the case of an external ejb reference, you don't
+  provide a ejb-link element in ejb-jar.xml, but you provide a jndi-name
+  in jboss.xml
+
+  Used in: entity, session, and message-driven
+-->
+<!ELEMENT ejb-ref (ejb-ref-name , jndi-name)>
+
+<!--
+  The ejb-ref-name element is the name of the ejb reference as given in
+  ejb-jar.xml.
+
+  Used in: ejb-ref
+-->
+<!ELEMENT ejb-ref-name (#PCDATA)>
+
+<!--
+  The ejb-local-ref element is used to give the jndi-name of an external
+  ejb reference. This is an alternative to using ejb-link in ejb-jar.xml
+
+  Used in: entity, session, and message-driven
+-->
+<!ELEMENT ejb-local-ref (ejb-ref-name , local-jndi-name)>
+
+<!--
+  The security-identity element specifies whether a specific run-as identity is to be
+  used. If there is a run-as role defined for an enterprise bean, there can also be a
+  run-as-principal define here. If you don't define a run-as principal the callee will
+  see ctx.getCallerPrincipal() == 'anonymous'
+
+  Used in: entity, message-driven, session
+-->
+<!ELEMENT security-identity (run-as-principal)>
+
+<!--
+  The ejb-timeout-identity element specifies the run-as used for the ejbTimeout
+  callback method. If the run-as-principal is specified this is the identity
+  that will be set as the callback run-as. If the run-as-principal is empty,
+  then no security context is specified at the container level. Any access of
+  secured resources will require that the ejbTimeout method establish the
+  security context.
+-->
+<!ELEMENT ejb-timeout-identity (run-as-principal)>
+
+<!--
+  The run-as-principal element is the name of the principal that is used
+  when the enterprise bean calls out with a run-as role.
+
+  Used in: security-identity
+-->
+<!ELEMENT run-as-principal (#PCDATA)>
+
+<!--
+  The resource-env-ref element gives a mapping between the "code name"
+  of a env resource (res-ref-name, provided by the Bean Developer) and
+  its deployed JNDI name.
+
+  Used in: session, entity, message-driven
+-->
+<!ELEMENT resource-env-ref (resource-env-ref-name , jndi-name)>
+
+<!--
+  The resource-env-ref-name element gives the "code name" of a resource. It is
+  provided by the Bean Developer.
+
+  Used in: resource-env-ref
+-->
+<!ELEMENT resource-env-ref-name (#PCDATA)>
+
+<!--
+  The method-attributes element can be used to specify which methods are read only
+  or idempotent.  This is used to reduce the need for locks and replication.
+-->
+<!ELEMENT method-attributes (method*)>
... 3908 lines suppressed ...


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists