Problems starting or using the wsadmin command
What kind of problem are you having?
If you do not see your problem here:
- If you are not able to enter wsadmin command mode, try running wsadmin -c "$Help wsadmin"wsadmin -c "\$Help wsadmin" for help in verifying
that you are entering the command correctly.
- If you can get the wsadmin command prompt, enter $Help help to
verify that you are using specific commands correctly.
- wsadmin commands are a superset of Jacl (Java Command Language), which
is in turn a Java-based implementation of the Tcl command language. For details
on Jacl syntax beyond wsadmin commands, refere to the Tcl developers' site, http://www.tcl.tk
.
For specific details relating to the Java implementation of Tcl, refer to http://www.tcl.tk/software/java
.
- Browse the install_dir/logs/wsadmin.traceout file for clues.
- Keep in mind that wsadmin.traceout is refreshed (existing log records
are deleted) whenever a new wsadmin session is started.
- If the error returned by wsadmin does not seem to apply to the command
you entered, for example, you receive WASX7023E, stating that a connection
could not be created to host "myhost," but you did not specify "-host myhost"
on the command line, examine the properties files used by wsadmin to determine
what properties are specified. If you do not know what properties files were
loaded, look for the WASX7326I messages in the wsadmin.traceout file; there
will be one of these messages for each properties file loaded.
"WASX7023E: Error creating "SOAP" connection
to host" or similar error trying to launch wsadmin command line utility
By
default, the wsadmin utility attempts to connect to an application server
at startup. This is because some commands act upon running application servers.
This error indicates that no connection could be established.
To resolve
this problem:
- If you are not sure whether an application server is running, start it
by entering startserver.sh server short name from
the command prompt. If the server is already running, you will see an error
similar to "ADMU3027E: An instance of the server is already running".
- If you are running a z/OS configuration, you will
first need to start the deployment manager by issuing the following command
from a command prompt on the MVS console:
START dmgr_proc_name,JOBNAME=server_short_name,
ENV=cell_short_name.node_short_name.server_short_name
Note: This command must be entered on a single line. It is split here
for display purposes.
Then you can launch wsadmin immediately to
connect to the deployment manager, or start a node and application server
to connect to.
- If an application server is running and you still get this error:
- If you are running remotely (that is, on a different machine from the
one running WebSphere Application Server), you must use the -host hostname option
to the wsadmin command to direct wsadmin to the right physical server.
- If you are using the -host option, try pinging the server machine from
the command line from the machine on which you are trying to launch wsadmin
to verify there are no issues of connectivity such as firewalls.
- verify that you are using the right port number to connect to the WebSphere
Application Server process:
- If you are not specifying a port number (using the -port option) when
you start wsadmin, wsadmin uses the default port specified in install_dir/properties/wsadmin.properties,
property name=com.ibm.ws.scripting.port (default value =8879).
The port that wsadmin should send on depends on the server process
wsadmin is trying to connect to.
For a single-server installation, wsadmin
attempts to connect to the application server process by default. To verify
the port number:
- Look in the file install_dir/config/cells/cell_name/nodes/node_name/serverindex.xml
for a tag containing the property serverType="APPLICATION_SERVER".
- Look for an entry within that tag with the property endPointName="SOAP_CONNECTOR_ADDRESS".
- Look for a port property within that tag. This is the port wsadmin
should send on.
In a Network Deployment installation, wsadmin launched from the
bin directory on the Network Deployment installation attempts to send requests
to the deployment manager by default. To verify the port number:
- Get the hostname of the node on which the Deployment Manager is installed.
- Using that hostname, look in install_dir/config/cells/cell_nameNetwork/nodes/node_name Manager/serverindex.xml
for a tag containing the property serverType="DEPLOYMENT_MANAGER".
- Within that tag, look for an entry with a property endPointName="SOAP_CONNECTOR_ADDRESS".
- Within that tag, look for a "port" property. This is the port wsadmin
should send on.
"com.ibm.bsf.BSFException: error while eval'ing
Jacl expression: no such method command name in class com.ibm.ws.scripting.AdminConfigClient"
returned from wsadmin command.
This error is usually caused by a
misspelled command name. Use the $AdminConfig help command to get information
about what commands are available. Note that command names are case-sensitive.
WASX7022E returned from
running "wsadmin -c ..." command, indicating invalid command
If
the command following -c appears to be valid, the problem may be caused by
the shell attempting to do variable substitution. Variable substitution can
occur on Unix System Services if wsadmin -c invokes a command that is enclosed
in double quotes and includes dollar signs. To confirm that this is the problem,
check the command to see if it contains an unescaped dollar sign, for example: wsadmin
-c "$AdminApp install ....".
To correct this problem, escape the
dollar sign with a backslash. For example: wsadmin -c "\$AdminApp install
...".
Note: When the command is enclosed in single quotes,
the shell does not attempt to do variable substitution. Therefore, you do
not need to escape the dollar sign. Example: wsadmin.sh -c '$AdminApp install
...'
com.ibm.ws.scripting.ScriptingException: WASX7025E:
String "" is malformed; cannot create ObjectName
One possible cause
of this error is that an empty string was specified for an object name. This
can happen if you use one scripting statement to create an object name and
the next statement to use that name, perhaps in an "invoke" or "getAttribute"
command, but you don't check to see if the first statement really returned
an object name. For example (the following samples use basic Jacl commands
in addition to the wsadmin Jacl extensions to make a sample script):
#let's misspell "Server"
set serverName [$AdminControl queryNames type=Server,*]
$AdminControl getAttributes $serverName
To correct this error, make sure that object name strings have
values before using them. For example:
set serverName[$AdminControl queryNames type=Server,*]
if {$serverName == ""} {puts "queryNames returned empty - check query argument"}
else {$AdminControl getAttributes $serverName}
For details on Jacl syntax beyond wsadmin commands, refer to
the Tcl developers' site, http://www.tcl.tk
.

Troubleshooting by task: What are you trying to do?
Searchable topic ID:
rtrb_wsadminprobs
Last updated: Jun 21, 2007 9:56:50 PM CDT
WebSphere Application Server for z/OS, Version 5.0.2
http://publib.boulder.ibm.com/infocenter/wasinfo/index.jsp?topic=/com.ibm.websphere.zseries.doc/info/zseries/ae/rtrb_wsadminprobs.html