Application deployment problems
You might encounter problems when deploying, installing, or promoting applications. This topic suggests ways to resolve the problems.
What kind of problem are you having?
- Application does not display
- Unable to save a deployed application
- java.lang.RuntimeException: Failed_saving_bytes_to_wor_ERROR_ error in the assembly tool, administrative console or the wsadmin tool
- WASX7015E error running wsadmin command $AdminApp installInteractive or $AdminApp install
- Cannot install a CMP or BMP entity bean in an EJB 3.0 module
- Data definition language (DDL) generated by an assembly tool throws SQL error on target platform
- ADMA0004E: Validation failed
- Cannot load resource WEB-INF/ibm-web-bnd.xmi in archive file
- No valid target is specified in ObjectName anObject for module module_name from installation
- addNode -includeapps option does not appear to upload all applications to the deployment manager
- "Timeout!!!"error displays when attempting to install an enterprise application in the administrative console
- NameNotFoundException message when deploying an application that contains an EJB module
- During application installation, the call to EJB deploy causes an exception
- Compilation errors and EJB deploy fails when installing an EJB JAR file generated for Version 5.x or earlier
- While uploading documents, addNode -includeapps fails with an OutOfMemory error
- OutOfMemory error in the deployment manager
- After installing the application onto a different machine, the application does not run
- A single file replaces all application files during application update
- Verify that the logical name that you have specified to appear on the console for your application, enterprise bean module or other resource does not contain invalid characters such as these: - / \ : * ? " < > |.
- If the application was installed using the wsadmin $AdminApp
install command with the -local flag,
restart the server or rerun the command without the
-local
flag.
If you do not see a problem that resembles yours, or if the information provided does not solve your problem, check to see if the problem is identified and documented.
Refer to available online support including hints and tips, technotes, and fixes. If the problem has not been identified, see Getting help.
Application does not display
Application installed using the wsadmin tool, but the application does not display under
.- Verify that the application subdirectory is located under the app_server_root/installedApps directory.
- Run the $AdminApp list command and verify that
the application is not among those displayed.
- In the bin directory, run the wsadmin.bat or wsadmin.sh command.
- From the wsadmin prompt, enter
$AdminApp list
and verify that the problem application is not among the items that display.
- Reinstall your application using the wsadmin tool. Run the $AdminConfig save command in the wsadmin tool before exiting.
Unable to save a deployed application
If you are unable to save a deployed application, the problem might be that too many files are opened, exceeding the limit of the operating system.
ulimit -n number_of_files
Only root has authority to adjust the maximum number of files for each process. Complete the following steps to modify the application to close files with disciplines:
- After you open a file and complete your work, call the close method of the file to release the file handle back to the operating system.
- Using the java.io.FileInputStream and the FileOutputStream classes as examples, you can invoke their close method to release any system resources that are associated with the stream.
java.lang.RuntimeException: Failed_saving_bytes_to_wor_ERROR_ error in the assembly tool, administrative console or the wsadmin tool
If you see this error when attempting to generate deployed code in an assembly tool, installing an application or module in the administrative console, or using the wsadmin tool to install an application or module, the file path length of the temporary system file might be exceeded.
To verify this problem, check
the TEMP
and TMP
environment variables
for your system. Long environment variables add path length to the
file names accessed by the EJB deployment tool.
- Stop all WebSphere Application Server processes and close all DOS prompts.
- Set the
TEMP
andTMP
environment variables to something short, for exampleC:\TMP
andC:\TEMP
. - Reinstall the application.
WASX7015E error running wsadmin command $AdminApp installInteractive or $AdminApp install
This problem has two possible causes:
- If the full text of the error is similar to:The file and path name are incorrectly specified. In this case, since the path included spaces, it was interpreted as multiple parameters by the wsadmin program.
WASX7015E: Exception running command: "$AdminApp installInteractive C:/Documents and Settings/ myUserName/Desktop/MyApp/myapp.ear"; exception information: com.ibm.bsf.BSFException: error while evaluating Jacl expression: can't find method "installInteractive" with 3 argument(s) for class "com.ibm.ws.scripting.AdminAppClient"
WASX7015E: Exception running command: "$AdminApp installInteractive Documents and Settings/ myUserName/Desktop/MyApp/myapp.ear"; exception information: com.ibm.bsf.BSFException: error while evaluating Jacl expression: can't find method "installInteractive" with 3 argument(s) for class "com.ibm.ws.scripting.AdminAppClient"
Enter the path of the .ear file correctly. In this case, by enclosing it in double quotes:
$AdminApp installInteractive "C:\Documents and Settings\myUserName\Desktop\MyApps\myapp.ear"
$AdminApp installInteractive "Documents and Settings/myUserName/Desktop/MyApps/myapp.ear"
- If the full text of the error is similar to:The application path is incorrectly specified. In this case, you must use "forward-slash" (/) separators in the path.
WASX7015E: Exception running command: "$AdminApp installInteractive c:\MyApps\myapp.ear "; exception information: com.ibm.ws.scripting.ScriptingException: WASX7115E: Cannot read input file "c:\WebSphere\AppServer\bin\MyAppsmyapp.ear"
WASX7015E: Exception running command: "$AdminApp installInteractive MyApps\myapp.ear "; exception information: com.ibm.ws.scripting.ScriptingException: WASX7115E: Cannot read input file "WebSphere\AppServer\bin\MyAppsmyapp.ear"
Cannot install a CMP or BMP entity bean in an EJB 3.0 module
When installing an EJB 3.0 module that contains a container-managed persistence (CMP) or bean-managed persistence (BMP) entity bean, the installation fails.
The product does not support installation of applications that have a CMP or BMP entity bean packaged in an EJB 3.0 module. You must package CMP or BMP entity beans in an EJB 2.1 or earlier module.
- Package the CMP or BMP entity beans in EJB 2.1 or earlier modules.
- Try installing your application with the EJB 2.1 or earlier modules.
Data definition language (DDL) generated by an assembly tool throws SQL error on target platform
- Browse the DDL statements for dependencies on specific user identifiers and passwords, and correct as necessary.
- Browse the DDL statements for dependencies on specific server names, and correct as necessary.
- Refer to the message reference of the vendor for causes and suggested actions regarding specific SQL errors. For IBM DB2®, you can view the message references online.
SQL0104N An unexpected token "CREATE TABLE AGENT (COMM DOUBLE, PERCENT DOUBLE, P"
was found following " ". Expected tokens may include: " ".
SQLSTATE=42601
- Edit the DDL in the vi editor, removing the Ctl-M character at the beginning of each line.
- Regenerate the deployment code for the application EAR file on a Linux platform.
- Use EDTF to edit the file.
ADMA0004E: Validation failed
AppDeploymentException: [ADMA0014E: Validation failed. ADMA0004E: Validation error in task Specifying the Default Datasource for EJB Modules JNDI name is not specified for module beannameBean Jar with URI filename.jar,META-INF/ejb-jar.xml. You have not specified the data source for each CMP bean belonging to this module. Either specify the data source for each CMP beans or specify the default data source for the entire module.]one possible cause is that, in WebSphere Application Server Version 4.0, it was mandatory to have a data source defined for each CMP bean in each JAR. In Version 5.0 and later releases, you can specify either a data source for a container-managed persistence (CMP) bean or a default data source for all CMP beans in the JAR file. Thus during installation interaction, such as the installation wizard in the administrative console, the data source fields are optional, but the validation performed at the end of the installation checks to see that at least one data source is specified.
To correct this problem, step through the installation again, and specify either a default data source or a data source for each CMP-type enterprise bean.
If you are using
the wsadmin tool, use the $AdminApp installInteractive filename
command
to receive prompts for data sources during installation, or to provide
them in a response file.
Specify data
sources as an option to the $AdminApp install
command.
Cannot load resource WEB-INF/ibm-web-bnd.xmi in archive file
The web application tmp.war installs
on WebSphere Application Server Versions
5.0 and 5.1, but fails on a WebSphere Application Server Version 6.0 or
later server. The application fails to install because the WEB-INF/ibm-web-bnd.xmi file
contains xmi
tags that the underlying WCCM model
no longer recognizes.
The following error messages display:
IWAE0007E Could not load resource "WEB-INF/ibm-web-bnd.xmi" in archive "tmp.war" [2/24/05 14:53:10:297 CST] 000000bc SystemErr R AppDeploymentException: com.ibm.etools.j2ee.commonarchivecore.exception.ResourceLoadException: IWAE0007E Could not load resource "WEB-INF/ibm-web-bnd.xmi" in archive "tmp.war" [2/24/05 14:53:10:297 CST] 000000bc SystemErr R com.ibm.etools.j2ee.commonarchivecore.exception.ResourceLoadException: IWAE0007E Could not load resource "WEB-INF/ibm-web-bnd.xmi" in archive "tmp.war" !Stack_trace_of_nested_exce! com.ibm.etools.j2ee.exception.WrappedRuntimeException: Exception occurred loading WEB-INF/ibm-web-bnd.xmi !Stack_trace_of_nested_exce!
To work around this problem,
remove the xmi:type=EJBLocalRef
tag from the ibm-web-bnd.xmi file.
Removing this tag does not affect the application because the tag
was previously used for matching the cross document reference type.
The application now works for the WebSphere Application Server Version 5.1 and
later releases.
However, a Java EE 5 or later module can exist within an application that includes pre-Java EE 5 files and uses the .xmi file name extension.
The ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi, and ibm-portlet-ext.xmi files continue to use the .xmi file extensions.
No valid target is specified in ObjectName anObject for module module_name from installation
This error can occur in a clustered environment if the target cell, node, server or cluster into which the application is to be installed is incorrectly specified. For example, it can occur if the target is misspelled.
To correct this problem, check the target names against the actual WebSphere Application Server topology and reenter them with corrections.
addNode -includeapps option does not appear to upload all applications to the deployment manager
This error can occur when some or all applications on the target node are already uploaded to the deployment manager. The addNode program detects which applications are already installed and does not upload them again.
Use the administrative console to browse the deployment manager configuration and see the applications that are already installed.
Timeout!!!
error displays when
attempting to install an enterprise application in the administrative
console
This error can occur if you attempt to install an enterprise application that has not been deployed.
- Open the file_name.ear file in an assembly tool and then click Deploy. This action creates a file with a name like Deployed_file_name.ear.
- In the administrative console, install the deployed EAR file.
NameNotFoundException message when deploying an application that contains an EJB module
If you specify that the EJB deployment tool be run during application installation and the installation fails with a NameNotFoundException message, ensure that the input JAR or EAR file does not contain source files. If there are source files in the input JAR or EAR file, the EJB deployment tools runs a rebuild before generating the deployment code.
To work around this problem, either remove the source files or include all dependent classes and resource files on the class path. Otherwise, the source files or the lack of access to dependent classes and resource files might cause problems during rebuilding of your application on the server.
During application installation, the call to EJB deploy causes an exception
When you specify that the EJB deployment tool be run during application installation and if installation fails with the error command line too long, the problem is that the deployment command generated during installation exceeds the character limit for a command line on the Windows platform.
To work around this problem, you can reduce the length of the EAR file name, reduce the length of the JAR file name within the EAR file, reduce the class path or other options specified for deployment, or change the %TEMP% location of the Windows system to make its path shorter.
Compilation errors and EJB deploy fails when installing an EJB JAR file generated for Version 5.x or earlier
When installing an old application that uses EJB modules that were built to run on WebSphere Application Server Version 5.x or earlier, compilation errors result and EJB deploy fails. The EJB JAR file contains Java source for the old generated code. The old Java source was generated for Version 5.x or before but, when deployed to a WebSphere Application Server Version 6.x or later product, it is compiled using the Version 6.0 or later runtime JAR files.
To work around this problem, remove all .java files from the application EAR file. After the Java source files are removed, you can deploy the application onto a server successfully.
While uploading documents, addNode -includeapps fails with an OutOfMemory error
- If you are using addNode to add a node from
the base server, modify the addNode script to include
the following parameter:
-Xmxsize
- If you are adding a node from the administrative console, increase the
maximumHeapSize in the Java virtual machine settings of the deployment manager,
then restart the deployment manager.
See rxml_addnode.html and Java virtual machine settings for details.
"%JAVA_HOME%\bin\java" -Xmx512m %DEBUG% %WAS_TRACE% %CONSOLE_ENCODING%
"%CLIENTSOAP%" "%CLIENTSAS%" "-classpath" "%WAS_CLASSPATH%"
"-Dws.ext.dirs=%WAS_EXT_DIRS%" %USER_INSTALL_PROP%
-Dwas.install.root=%WAS_HOME%" "com.ibm.ws.bootstrap.WSLauncher"
"com.ibm.ws.management.tools.NodeFederationUtility" "%CONFIG_ROOT%" "%WAS_CELL%"
"%WAS_NODE%" %*
OutOfMemory error in the deployment manager
If you receive an OutOfMemory error when trying to install applications with large EAR files, try increasing the maximum heap size of the deployment manager.
Check the options you specified on the Java virtual machine page of the administrative console. Increase the maximumHeapSize in the Java virtual machine settings of the deployment manager. Then, restart the deployment manager, and try installing the application again.
After installing the application onto a different machine, the application does not run
If your application uses application level resources, its application level node information must be correct for the application to run as expected.
When you add application level resources to an application and deploy the application onto a machine, ensure that the application level node information is correct. Otherwise, when you install the application onto a different machine, it is installed to the wrong location and the application does not run as expected.
You can update the application level node information using an assembly tool. Update the nodeName from deploymentTargets of the deployment.xml file under ibmconfig. Also, ensure that binariesURL from deployedObject of the deployment.xml file has the correct path.
A single file replaces all application files during application update
If you select the Replace or add a single file option of the application update wizard and the currently deployed application consists of several files, specify the full path name of the file to be replaced or added for Specify the path beginning with the installed application archive file to the file to be replaced or added.
A full path name usually has the structure directory_path/file_name and resembles the following:
PriceChangeSession.jar/priceChangeSession/priceChangeSessionBean.class
Do not specify less than the full path name for Specify the path beginning with the installed application archive file to the file to be replaced or added. For example, do not specify only a directory path:
PriceChangeSession.jar/priceChangeSession
If you specify less than a full path name, all files in the directory of the currently deployed application might be replaced by the single new file that was specified under Specify the path to the file.