C H A P T E R  9

Troubleshooting

This chapter provides some troubleshooting hints to help you during the installation, startup, configuration, and use of the Forte for Java 4 IDE.


Using the solaris_patch_installer

TABLE 9-1 describes some errors you might encounter during installation of Solaris patches using the solaris_patch_installer script.

TABLE 9-1 solaris_patch_installer Errors

Problem

Solution

The solaris_patch_installer aborted while attempting to apply one of the required Solaris patches on your system.

  1. Write down the patchID of the last patch that the solaris_patch_installer tried to install.
  2. Obtain a newer revision of that patch from http://sunsolve.sun.com, if one is available.
  3. Install the new revision on your system using the patchadd utility. (If you are unfamiliar with or unsure about installing Solaris packages or the J2SE, v. 1.4.0 platform on your Solaris environment, contact your Solaris system administrator for assistance.)
  4. Run the solaris_patch_installer again to ensure you have all the required Solaris 8 patches on your system.

Receipt of an error message similar to the following, after running the solaris_patch_installer on a newly installed Solaris 8 (update 7) environment:

# ./solaris_patch_installer

Solaris Patch Installer for J2SE, v.1.4.0
Installing 109147-14... successfully installed
Installing 108434-06...

...

Installing 108528-13... attempting to patch a package that is not installed
Installing 108652-51... successfully installed
Installing 108921-13... already applied
Installing 108940-40... successfully installed
Installing 108773-12... pkgadd failed
Cannot continue patch installation.
For more details, please look at /var/tmp/solaris_patch_installer.log

Run the solaris_patch_installer script a second time. If you continue to have problems, contact your Solaris system administrator.



Installing the Forte for Java 4 IDE

TABLE 9-2 describes some errors you might encounter during the Forte for Java 4 IDE installation.

TABLE 9-2 Forte for Java 4 IDE Installation Errors

Problem

Solution

Receipt of the following error message while installing the Forte for Java 4 IDE:
Error writing file = There may not be enough temporary disk space. Try using -is:tempdir to use a temporary directory on a partition with more disk space

Start the installer with the -is:tempdir command-line option, in order to specify a directory on a disk with more free space.

For example, in a Solaris operating environment, you might type the following at the command prompt:

$ ffj_ee_solsparc_en.bin -is:tempdir temporary-directory

The Forte for Java 4 installer fails and displays a message that there is not enough available disk space to use for installation. But, the filesystem you specified to use for installing the IDE has plenty of available disk space.

The filesystem you have specified may be symbolically linked to another filesystem whose large amount of disk space is not recognized. For example, in a Solaris environment, /export/home has 2 GB of space and / has 100 MB. The /opt directory is symbolically linked to /export/home. If you specified /opt/forte4j as the IDE installation directory, the Forte for Java 4 installer does not recognize the symbolic link to /export/home, which has 2 GB of available disk space. The installer only recognizes the / directory, which is the target directory for /opt and only has 100 MB.

To correct the problem, specify the IDE's installer to directly use the filesystem with the larger available disk space. For the above example, specify the /export/home as the installation directory.

Receipt of the following error message while installing the Forte for Java 4 IDE:
Error: Could not find JVM

Start the installer with the -is:javahome command-line option, in order to specify a directory on a disk with more free space.

For example, in a Solaris operating environment, type the following at the command prompt:

$ ffj_ee_solsparc_en.bin -is:javahome javahome

(Solaris or Linux environments only) The Forte for Java 4 installer looks like it is hung, after it was started. No messages are displayed.

You may not have set the DISPLAY environment variable correctly. If you are installing on your local system, the DISPLAY environment variable should be set to :0.0. If you are using a superuser (root) account or doing a remote installation, set your DISPLAY environment variable to your local system.

For example, to set the DISPLAY variable from a root account that is using a C-shell, type the following in the command window you used to log into the root account:

setenv DISPLAY your-local-host:0.0.

Run the installer again from the same command window.

The Forte for Java 4 IDE installer exits without installing the product. No messages are displayed.

These are the possible causes and solutions:

  • The file you have downloaded from the Forte for Java 4 product download page is not complete. Download the file again and check that the size of the downloaded file is the same as the file size specified on the product download page. Run the IDE installer again.
  • You have specified an invalid command-line parameter in the installer.sp file. Check the file and correct any incorrect command-line parameter setting. Run the IDE installer again.

The -is:tempdir command-line parameter is not working.

Make sure that you are using the correct syntax for the command-line parameter for the installer. For example, on a Solaris environment, the syntax is as follows:

ffj_ee_solsparc_en.bin -is:tempdir temporary-directory



Starting Up the Forte for Java 4 IDE

TABLE 9-3 describes some errors you might receive during startup and configuration of the newly installed Forte for Java 4 IDE software.

TABLE 9-3 Forte for Java 4 IDE Startup and Configuration Errors

Problem

Solution

Receipt of an error message similar to the following during the IDE startup in a supported Solaris environment:
Error: No J2SE was found at /usr/j2se/bin/java
ERROR: The following required 5.8 patches have not been installed on system "myserver": 106950-16 106327-11 106541-17

NOTE: You can download and install the J2SE[tm] and related Solaris[tm] patches from http://access1.sun.com/forte/.

Warning:Current runtime environment does not satisfy minimum requirements.

Install the J2SE, v. 1.4.0 platform on your system. For a Solaris 8 operating environment, include any necessary patches. Refer to for more information on installing this software on your system.

Receipt of the following error message after starting the IDE:
Error: Unable to load java.dll

Make sure there is no space in the name of the directory in which you have installed the J2SE, v. 1.3.1 or v. 1.4.0 platform.

Forte for Java 4 IDE is not pointing to the J2SE, v. 1.4.0 platform you had specified during the IDE installation and you receive an error message similar to the following:

ERROR: The J2SE[tm] 1.2.1 found at /usr/java1.2/bin/java cannot be used by the IDE. J2SE[tm] 1.4 is recommended.
NOTE: You can download and install the J2SE[tm] and related Solaris[tm] patches from http://access1.sun.com/forte/.

Warning:Current runtime environment does not satisfy minimum requirements.

Check the Java environment variables already set prior to starting the IDE and unset them.

The values of the $JAVA_PATH and $JDK_HOME environment variables override the value of the J2SE SDK path you specified during the IDE installation. You need to unset these environment variables or use the -jdkhome command-line option when starting the IDE.

The user directory is created in the wrong location in a Microsoft Windows system.

If you have previously installed any edition of the Forte for Java 4 IDE in a Windows environment, the location of the user directory is recorded in the Microsoft Windows Registry under HKEY_CURRENT_USER/Software/Sun Microsystems, Inc./Forte for Java/EE/4.0. This value is not deleted when you uninstall the Forte for Java 4 IDE. Therefore, when you install another version of the Forte for Java 4 IDE, the user directory specified in a previous Forte for Java 4 IDE installation is reused.

If you want to use a different location for the user directory, do the following:

  1. Uninstall the Forte for Java 4 IDE.
  2. In a command window, type regedit to start the Microsoft Windows Registry editor.
  3. From the Registry editor, expand the HKEY_CURRENT_USER registry and the keys for Software/Sun Microsystems, Inc./Forte for Java/EE/4.0
  4. Right-click the UserDir value and choose Delete from the contextual menu.
  5. Install the Forte for Java 4 IDE again.
  6. After installation, start the Forte for Java 4 IDE and when you are prompted, specify a new location for the user directory.


Running Web Services

TABLE 9-4 describes some error messages you might get when running a web service using any of the application servers supported by the IDE.

TABLE 9-4 Errors When Running a Web Service With Any Application Server

Problem

Solution

Receipt of the following exception:

[SOAPException: faultCode=SOAP-ENV: Client; msg=Connection shutdown: JVM_recv in socket input stream read; targetException:

java.net.SocketException: Connection shutdown: JVM_recv in

socket input stream read]

The Web Context property of the web module in the J2EE application does not match the context root specified in the SOAP RPC URL property of the web service. To obtain the Web Context property of the web module:

  1. Expand the J2EE application to which the web service was added.
  2. Right-click the web module of the web service (this is the file whose name ends in _War) and choose Properties.
  3. The Web Context property is the last property displayed in the Properties window.

To obtain the context of the SOAP RPC URL property of the web service:

  1. Right-click the web service node and choose Properties.
  2. The SOAP RPC URL property displays a value that is similar to the following:
    http://localhost:8000/MyService/
    servlet/rpcrouter

In this case, the context root is MyService and this should also be the value of the Web Context property of the web module in the J2EE application.

Receipt of the following exception:

[SOAPException: faultCode=SOAP-ENV:Client; msg=Error opening socket: Connection refused: connect; targetException=java.lang.IllegalArgumentException: Error opening socket: Connection refused: connect]

Changes were made to the web service and you did not refresh the web service client that was making the call to the web service. To refresh the web service client when a change has been made to the web service that it is calling:

  1. Right-click the web service client node to display its contextual menu.
  2. Choose Refetch WSDL. This regenerates the client proxy to reflect the changes made to the web service.


Web Services Using UDDI

TABLE 9-5 describes some error messages you might get when running a web service using UDDI.

TABLE 9-5 Errors When Running a Web Service Using UDDI

Problem

Solution

Receipt of an empty web page when viewing .wsdl files.

Versions of the Netscape web browser prior to 6.0 do not display the .wsdl file. Use a later version of the Netscape web browser.

Receipt of the following exception when searching for anything in a UDDI registry using the New Client wizard:
IllegalArgumentException

If you intend to use UDDI, you need to set the User Proxy Server name and port information when you first run the Forte for Java 4 IDE. You can use either of the following to set the User Proxy Server information:

  • When you start the IDE after installation, specify the User Proxy Server name and port from the second dialog box.
  • Choose Tools right arrow Setup Wizard from the main window of the IDE and provide the User Proxy Server name and port.

You must restart the IDE for the values to take effect.

Receipt of the following exception in the registry server Tomcat output window when inquiring or publishing to the internal UDDI server:
[WARN] registry_server - -org.xmldb.api.base.XMLDBException while connecting: org.apache.xnode.XNodeException: aborting connection attempt.

A possible cause is that a previous Xindice server instance was not gracefully terminated:

  1. Terminate the corresponding Java processes associated with that Xindice server instance.
  2. Restart the IDE.

Always terminate the internal UDDI registry server using the following steps:

  1. Select the Runtime tab of the Explorer.
  2. Expand the UDDI Server Registry node.
  3. Right-click the Internal UDDI Registry and choose Stop Server from the contextual menu.


Using WebLogic 6.1

TABLE 9-6 describes some error messages you might get when using WebLogic Server 6.1.

TABLE 9-6 Errors When Using WebLogic Server 6.1

Problem

Solution

Inability to deploy web services from the Forte for Java 4 IDE to the BEA WebLogic Server 6.1.

There is a known problem in deploying web services developed with the Forte for Java 4 IDE to the BEA WebLogic Server 6.1. The fix requires a patch to the server. WebLogic customers with BEA support contracts need to contact BEA Customer Support and request the patch for issue CR06439.

WebLogic Server 6.1 is unable to download its XML document definitions from the BEA web site.

If you deploy a J2EE application client to WebLogic Server 6.1, WebLogic must be able to download its XML document definitions from the WebLogic web site. If your connection to the web requires a proxy server, make sure that you specify this setting in the IDE before deploying an application to the WebLogic server. To set the proxy server, choose Tools right arrow Setup Wizard and specify your proxy and web browser settings in the General Forte for Java Settings pane of that wizard.



Using J2EE Reference Implementation 1.3.1

TABLE 9-7 describes some error messages you might get when using J2EE Reference Implementation 1.3.1.

TABLE 9-7 Errors When Using J2EE Reference Implementation 1.3.1

Problem

Solution

Receipt of the following error on your browser after deploying the HelloWorld J2EE application you created in :

ERROR: The requested URL could not be retrieved. While trying to retrieve the URL: http://localhost:8000/helloTest_TestApp/dispatch.jsp the following error was encountered: Connection Failed.

If your system is behind a firewall, make sure that your browser is configured to not use proxy servers for domains beginning with localhost.

Receipt of the following error message:
org.omg.CORBA.INTERNAL: minor code: 1398079697 completed: No
...
java.lang.RuntimeException: Unable to create ORB. Possible causes include TCP/IP ports in use by another process
...
Error executing J2EE server...

This error occurs when another process is already using the 1050 listen port. You can either shut down the other process or change the port number assigned to J2EE Reference Implementation 1.3.1 to something other than 1050, for example, 11050. This error can also occur if the 1060 listen port is in use, even if the 1050 port is not in use. Do the following to correct the problem:

  1. Determine whether the 1050 port is in use, the 1060 port is in use, or both are in use.
  2. Change whichever is in use. To change the 1050 port assignment, you must modify the $J2EE_HOME\config\orb.properties file.To change the 1060 port assignment, use a text editor to modify the $J2EE_HOME\setenv.bat (for Microsoft Windows systems), or $J2EE_HOME/setenv.sh file (for Solaris or Red Hat Linux environments).

Receipt of an error message similar to the following:
Starting web service at port:8000
Starting secure web service at
port: 7000
J2EE SDK/1.3.1
LifecycleException: null.open: java.net.BindException: Address in use: JVM_Bind
...
Error executing J2EE server...

This error occurs if either the 7000 or 8000 web server port is in use. Set the http.port or https.port properties in the $J2EE_HOME/config/web.properties file to a different web server port.

Receipt of an error message similar to the following:
Starting web service at port:8000
Starting secure web service at port:7000
J2EE SDK/1.3.1
Starting web service at port:9191
J2EE SDK/1.3.1 LifecycleException: null.open: java.net.BindException: Address in use: JVM_Bind
...
Error executing J2EE server...

This error occurs if the 9191 EJB server port is in use. Modify the $J2EE_HOME/config/ejb.properties file to use a different EJB server port.

Receipt of ClassNotFoundException when deploying an application using J2EE Reference Implementation 1.3.1.

This problem might occur if you installed the IDE to run with the Java 2 SDK, v. 1.3.1, and you started the IDE with the -jdkhome switch option set to a Java 2 SDK, v. 1.4.0 installation. Your application might compile, but you could receive the ClassNotFoundException at deployment time if you used a Java API that is specific only to Java 2 SDK, v. 1.4.0.

Note that the J2EE Reference Implementation 1.3.1 server is set to use the Java 2 SDK specified during the IDE installation and not the Java 2 SDK specified via the -jdkhome switch option.

Do one of the following to correct the problem:

  • Edit the JAVA_HOME setting in the J2EE Reference Implementation startup file to use the desired version of the Java 2 SDK. The setting is found in $J2EE_HOME/bin/userconfig.sh in Solaris and Linux environments or in the $J2EE_HOME/bin/userconfig.bat file on Microsoft Windows systems.
  • Use a comparable Java API from the Java 2 SDK, v. 1.3.1 platform.

Receipt of the following exception:
java.lang.RuntimeException: Could not initialize j2ee server

This error occurs if another application has already taken the port number that the J2EE Reference Implementation server is trying to use. You can reboot the J2EE Reference Implementation server to get the port number before the other application does, or troubleshoot the error by following these steps:

  1. Open your
    $J2EE_HOME\config\orb.properties file and make a note of the port number.
  2. Use the netstat command to see if the number is in use. For example, in a Solaris operating environment, type something similar to the following in a command window:
    netstat -a | grep port-number
  3. If the number is in use by another process, you need to change the port being used by the J2EE Reference Implementation server or by the other process. To find a free port, try running the netstat command again and remove the last couple of digits of the port-number. For example, in a Solaris environment, you might type:
    netstat -a | grep 104
    This command lists all of the 104 ports in use. If there is a number missing, change the $J2EE_HOME\config\orb.properties file to the number missing from the list.