Attempts to use the IBM Rational Integration Tester (RIT) Run Command test action result in a "not found" error.
Commands that run correctly when using interactive login programs do not run through the RIT Run Command test action.
Most likely the user environment has wrong settings, when RIT connects with Run Command and SSH. When RIT connects to a server, RIT connects in a non-interactive way. The login is different from logging in with an interactive appluication such as Putty. The non-interactive connection does not run all of the user's login scripts.
As a consequence environment variables such as $PATH might have incorrect values. This means that RIT cannot locate and run programs.
Possibly one of the commands invokes another shell or logs into another system. This subsequent shell takes keyboard input which Run Command is unable to pass through. You need to run all Run Command steps in the same shell.
Resolving the problem
The following steps will help you to resolve the issue, although it may not be possible to automate every remote command using RIT for the reasons mentioned above.
- Verify that the command works as expected when logging into the remote system using an interactive SSH client such as Putty.
- Look for troubleshooting information in the Rational Integration Tester Reference Guide. This guide documents the Run Command test action and contains troubleshooting information.
- Speak to your system administrator who can help you to debug this issue.
- Log in and verify the settings of the environment variables with an SSH client program against those in Run Command.
You can use test commands such as
echo $PATHin the Run Command window.
Run the user's profile commands before running the actual command.
The following example runs a shell script
$ . ~/.profile ; my_command.sh
Note: Depending on the type of shell configured for the user, you may need to run different profile files.
If you try to use a command that opens another shell or logs into another system, you need to convert both into a single command. This command must invoke the shell and the program together. Speak to your system administrator to see if this is possible.