<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- /*******************************************************************************
 * Copyright (c) 2000, 2005 IBM Corporation and others.
 * 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
 * 
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/ -->
<link rel="stylesheet" type="text/css" href="../../org.eclipse.wtp.doc.user/common.css" />

<title>J2EE Validators</title>
</head>
<body id="rvalidators"><a name="rvalidators"><!-- --></a>
<h1 class="topictitle1">J2EE Validators</h1>
<div><p>This table lists the validators that are available for the different
project types and gives a brief description of each validator.</p>

<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" width="50%" id="d0e24">Validator name</th>
<th valign="top" width="50%" id="d0e26">Description</th>
</tr>
</thead>
<tbody><tr><td align="left" valign="top" width="50%" headers="d0e24 ">Application Client Validator</td>
<td align="left" valign="top" width="50%" headers="d0e26 ">The Application Client Validator validates
the following Application Client project resources:   <ul><li>Deployment descriptor (application-client.xml)</li>
<li>EJB references</li>
<li>Resource references</li>
</ul>
</td>
</tr>
<tr><td align="left" valign="top" width="50%" headers="d0e24 ">DTD Validator</td>
<td align="left" valign="top" width="50%" headers="d0e26 ">The DTD validator determines whether the
current state of a DTD is semantically valid. XML files are validated according
to the XML specification <a href="http://www.w3.org/TR/2000/REC-xml-20001006" target="_blank"> Extensible Markup Language (XML) 1.0</a> from the W3C
Web site. As well, the DTD validator checks for errors such as references
to entities and elements that do not exist.</td>
</tr>
<tr><td align="left" valign="top" width="50%" headers="d0e24 ">EAR Validator</td>
<td align="left" valign="top" width="50%" headers="d0e26 ">The EAR Validator validates the following:
 <ul><li>EAR deployment descriptor (application.xml)</li>
<li>EJB references of all module projects in the enterprise application project</li>
<li>Security roles</li>
<li>Resource references</li>
<li>Manifest files for all contained or referenced modules and utility JAR
files</li>
<li>Target server consistency between the enterprise application project and
any utility and module projects</li>
<li>Existence of projects for each module defined in enterprise application</li>
</ul>
  <p>Note that the EAR Validator only ensures the validity and dependency
of the module projects with respect to the enterprise application project.</p>
</td>
</tr>
<tr><td align="left" valign="top" width="50%" headers="d0e24 ">EJB Validator</td>
<td align="left" valign="top" width="50%" headers="d0e26 ">The EJB Validator verifies that enterprise
beans contained in an EJB project comply with the Sun Enterprise JavaBeans™ Specifications
(1.1, 2.0, and 2.1), depending on the level of the bean. Code validation for
the EJB 1.0 specification is not supported.   <p>Specifically, the EJB Validator
validates the following resources: </p>
  <ul><li>Java™ .class
files that are members of an enterprise bean (home interface, remote interface,
enterprise bean class, and, if the bean is an entity bean, the key class)</li>
<li>ejb-jar.xml</li>
</ul>
</td>
</tr>
<tr><td valign="top" width="50%" headers="d0e24 ">Connector Validator</td>
<td valign="top" width="50%" headers="d0e26 ">The Connector validator checks for invalid J2EE specification
levels in connector projects.</td>
</tr>
<tr><td align="left" valign="top" width="50%" headers="d0e24 ">HTML Syntax Validator</td>
<td align="left" valign="top" width="50%" headers="d0e26 ">The HTML Syntax Validator validates HTML
basic syntax and HTML DTD compliance in the following Web project resources:
 <ul><li>HTML files</li>
<li>JSP files</li>
</ul>
</td>
</tr>
<tr><td align="left" valign="top" width="50%" headers="d0e24 ">JSP Syntax Validator</td>
<td align="left" valign="top" width="50%" headers="d0e26 ">The JSP Syntax Validator validates JSP files
in a project by translating them into the corresponding Java code
and then checking the Java code for compile errors.</td>
</tr>
<tr><td align="left" valign="top" width="50%" headers="d0e24 ">WAR Validator</td>
<td align="left" valign="top" width="50%" headers="d0e26 ">The WAR Validator validates the following
web project resources:   <ul><li>Deployment descriptor (web.xml)</li>
<li>Servlets</li>
<li>Security roles</li>
<li>Servlet &amp; servlet mappings</li>
<li>EJB references</li>
</ul>
</td>
</tr>
<tr><td valign="top" width="50%" headers="d0e24 ">WSDL Validator</td>
<td valign="top" width="50%" headers="d0e26 ">The WSDL validator checks the following in WSDL files: <ul><li>XML syntax</li>
<li>XML Schema types in the &lt;types&gt; section</li>
<li>Referential integrity of the various constructs in WSDL </li>
</ul>
The validator also includes an extension point to allow other validators
to be plugged into the WSDL validation to provide additional verification
of the WSDL file. Through this mechanism, interoperability is checked by validating
a WSDL file against WS-I Profiles. </td>
</tr>
<tr><td valign="top" width="50%" headers="d0e24 ">WS-I Message Validator</td>
<td valign="top" width="50%" headers="d0e26 ">WS-I Message validator checks SOAP messages against
WS-I Profiles. A user can capture and verify SOAP messages using the TCP/IP
Monitor. The validator checks a message log that is saved as a project resource
(.wsimsg). The log conforms to a format as specified by WS-I.</td>
</tr>
<tr><td align="left" valign="top" width="50%" headers="d0e24 ">XML Schema Validator</td>
<td align="left" valign="top" width="50%" headers="d0e26 ">The XML schema validator determines whether
the current state of an XML schema file is semantically valid. XML schemas
are validated according to the XML Schema specification <a href="http://www.w3.org/TR/xmlschema-1/"> XML Schema Part 1:
Structures</a> from the W3C Web site.</td>
</tr>
<tr><td align="left" valign="top" width="50%" headers="d0e24 ">XML Validator</td>
<td align="left" valign="top" width="50%" headers="d0e26 ">The XML validator ensures that an XML file
is well-formed. It also verifies if an XML file is valid - that is, it follows
the constraints established in the DTD or XML schema the XML file is associated
with.</td>
</tr>
</tbody>
</table>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="../topics/tjval.html">Validating code in enterprise applications</a></div>
</div>

<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="../topics/ph-ref.html" title="The following reference material on J2EE is available:">Reference</a></div>
</div>
<div class="reltasks"><strong>Related tasks</strong><br />
<div><a href="../topics/tjval.html">Validating code in enterprise applications</a></div>
</div>
<div class="relref"><strong>Related reference</strong><br />
<div><a href="../topics/rvalerr.html" title="You may encounter these common error messages when you validate your projects.">Common validation errors and solutions</a></div>
</div>
</div></body>
</html>