<?xml version="1.0" encoding="utf-8"?>
<!--Arbortext, Inc., 1988-2006, v.4002-->
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN"
 "reference.dtd">
<reference id="rvalerr" xml:lang="en-us">
<title outputclass="id_title">Common validation errors and solutions</title>
<shortdesc outputclass="id_shortdesc">This table lists the common error messages<?Pub Caret?>
you may encounter when you validate your projects.</shortdesc>
<prolog><metadata>
<keywords><indexterm>code validation<indexterm>error solutions</indexterm></indexterm>
<indexterm>validation<indexterm>error solutions</indexterm></indexterm></keywords>
</metadata></prolog>
<refbody outputclass="id_refbody">
<example outputclass="anchor_topictop"></example>
<table frame="all">
<tgroup cols="3" colsep="1" rowsep="1"><colspec colname="col1" colwidth="60*"/>
<colspec colname="col2" colwidth="72*"/><colspec colname="col3" colwidth="164*"/>
<thead>
<row outputclass="id_tableHeadRow">
<entry>Message prefix</entry>
<entry>Message</entry>
<entry>Explanation</entry>
</row>
</thead>
<tbody>
<row outputclass="id_appclientValidator">
<entry nameend="col3" namest="col1"><uicontrol>Application Client validator</uicontrol></entry>
</row>
<row outputclass="id_CHKJ1000">
<entry colname="col1">CHKJ1000</entry>
<entry colname="col2">Validation failed because the application client file
is not valid. Ensure that the deployment descriptor is valid.</entry>
<entry colname="col3">The application-client.xml file cannot be loaded. The
project metadata cannot be initialized from the application-client.xml file.
  <ol>
<li>Ensure the following:  <ul>
<li>that the META-INF folder exists in the application client project</li>
<li>that META-INF contains the application-client.xml file</li>
<li>that META-INF is in the project's classpath.</li>
</ul>  </li>
<li>Validate the syntax of the application-client.xml file: in the Navigator
view, highlight the application-client.xml file, right-click, and select <uicontrol>Validate
XML file</uicontrol>.</li>
<li>If both 1) and 2) are okay, close the project, reopen the project, and
rebuild the project. The project metadata will refresh.</li>
</ol> </entry>
</row>
<row outputclass="id_EARValidator">
<entry nameend="col3" namest="col1"><uicontrol>EAR validator</uicontrol></entry>
</row>
<row outputclass="id_CHKJ1001">
<entry colname="col1">CHKJ1001</entry>
<entry colname="col2">The EAR project {0} is invalid.</entry>
<entry colname="col3">The application.xml file cannot be loaded. The project
metadata cannot be initialized from the application.xml file.  <ol>
<li>Ensure the following:  <ul>
<li>that the META-INF folder exists in the EAR project</li>
<li>that META-INF contains <codeph>application.xml</codeph></li>
<li>that META-INF is in the project's classpath.</li>
</ul>  </li>
<li>Validate the syntax of the application.xml file: in the Navigator view,
highlight the application.xml file, right-click, and select <uicontrol>Validate
XML file</uicontrol>.</li>
<li>If both 1) and 2) are okay, close the project, reopen the project, and
rebuild the project. The project metadata will refresh.</li>
</ol></entry>
</row>
<row outputclass="id_EJBValidator">
<entry nameend="col3" namest="col1"><uicontrol>EJB validator</uicontrol></entry>
</row>
<row outputclass="id_CHKJ2019">
<entry>CHKJ2019</entry>
<entry>The {0} key class must be serializable at runtime. </entry>
<entry morerows="2">The EJB is compliant with the EJB specification. This
message is a warning that problems may occur. The warning appears when a type
needs to be serializable at runtime and when serializability cannot be verified
at compile-time. A type is serializable if, at runtime, it is a primitive
type, a primitive array, a remote object, or if it implements java.io.Serializable.
This message flags java.lang.Object and it cannot be disabled. You can either
make the object serializable at compile-time or ignore the warning. </entry>
</row>
<row outputclass="id_CHKJ2412">
<entry>CHKJ2412</entry>
<entry>The return type must be serializable at runtime. </entry>
</row>
<row outputclass="id_CHKJ2413">
<entry>CHKJ2413</entry>
<entry>Argument {1} of {0} must be serializable at runtime.</entry>
</row>
<row outputclass="id_CHKJ2102">
<entry>CHKJ2102</entry>
<entry>Either a finder descriptor, or a matching custom finder method on the
{0} class, must be defined.</entry>
<entry>A finder descriptor must exist for every finder method. </entry>
</row>
<row outputclass="id_CHKJ2873">
<entry>CHKJ2873</entry>
<entry>Migrate this bean's datasource binding to a CMP Connection Factory
binding.</entry>
<entry></entry>
</row>
<row outputclass="id_CHKJ2874">
<entry>CHKJ2874</entry>
<entry>Migrate this EJB module's default datasource binding to a default CMP
Connection Factory binding.</entry>
<entry></entry>
</row>
<row outputclass="id_CHKJ2875E">
<entry colname="col1">CHKJ2875E       </entry>
<entry colname="col2">&lt;ejb-client-jar> {0} must exist in every EAR file
that contains this EJB module.</entry>
<entry colname="col3">If <codeph>&lt;ejb-client-jar></codeph> is specified
in <filepath>ejb-jar.xml</filepath>, a corresponding EJB client project must
contain the home and remote interfaces and any other types that a client will
need. If these types are all contained in a single EJB project, delete the <codeph>&lt;ejb-client-jar></codeph> line
in the deployment descriptor. Otherwise, ensure that the EJB client project
exists, is open, and is a project utility JAR in every EAR that uses this
EJB project as a module.</entry>
</row>
<row outputclass="id_CHKJ2905">
<entry>CHKJ2905</entry>
<entry>The EJB validator did not run because ejb-jar.xml could not be loaded.
Run the XML validator for more information.</entry>
<entry>CHKJ2905 means that the project's metadata could not be initialized
from ejb-jar.xml. <ol>
<li>Ensure the following:  <ul>
<li>that the META-INF folder exists in the EJB project</li>
<li>that META-INF contains ejb-jar.xml</li>
<li>that META-INF is in the project's classpath.</li>
</ul>  </li>
<li>Validate the syntax of the ejb-jar.xml file: in the Navigator view, highlight
the ejb-jar.xml file, right-click, and select <uicontrol>Validate XML file</uicontrol>.</li>
<li>If both 1) and 2) are okay, close the project, reopen the project, and
rebuild the project. The project metadata will refresh.</li>
</ol></entry>
</row>
<row outputclass="id_JSPValidator">
<entry nameend="col3" namest="col1"><uicontrol>JSP validator</uicontrol></entry>
</row>
<row outputclass="id_IWAW0482">
<entry colname="col1">IWAW0482</entry>
<entry colname="col2">No valid JspTranslator</entry>
<entry colname="col3">There is a path problem with the project; the JSP Validator
needs access to the WAS runtime code. If IWAW0482E appears on all web projects,
check the Variable or JRE path:   <ol>
<li>Check the global preferences (<uicontrol>Window > Preferences > Java >Installed
JREs</uicontrol>) and make sure that the location for the JRE is pointing
to a valid JRE directory.  </li>
<li>Ensure that the classpath variables (<uicontrol>Window > Preferences >
Java > Classpath Variables</uicontrol>) are set correctly.</li>
</ol> </entry>
</row>
<row outputclass="id_WARValidator">
<entry nameend="col3" namest="col1"><uicontrol>WAR validator</uicontrol></entry>
</row>
<row outputclass="id_CHKJ3008">
<entry colname="col1">CHKJ3008</entry>
<entry colname="col2">Missing or invalid WAR file.</entry>
<entry colname="col3">The web.xml file cannot be loaded. The project metadata
cannot be initialized from the web.xml file.   <ol>
<li>Ensure the following:  <ul>
<li>that the WEB-INF folder exists in the web project</li>
<li>that WEB-INF contains the web.xml file</li>
<li>that WEB-INF is in the project's classpath.</li>
</ul>  </li>
<li>Validate the syntax of the web.xml file: in the Navigator view, highlight
the web.xml file, right-click, and select <uicontrol>Validate XML file</uicontrol>.</li>
<li>If both 1) and 2) are okay, close the project, reopen the project, and
rebuild the project. The project metadata will refresh.</li>
</ol></entry>
</row>
<row outputclass="id_XMLValidator">
<entry nameend="col3" namest="col1"><uicontrol>XML validator</uicontrol></entry>
</row>
<row>
<entry> </entry>
<entry>The content of element type "ejb-jar" is incomplete, it must match
"(description?,display-name?,small-icon?,large-icon?,enterprise-beans,assembly-descriptor?,ejb-client-jar?)".</entry>
<entry>The EJB 1.1 and 2.0 specifications mandate that at least one enterprise
bean must exist in an EJB .jar file. This error message is normal during development
of EJB .jar files and can be ignored until you perform a production action,
such as exporting or deploying code. Define at least one enterprise bean in
the project.</entry>
</row>
</tbody>
</tgroup>
</table>
<example outputclass="anchor_topicbottom"></example>
</refbody>
</reference>
<?Pub *0000008883?>
