Running the wsadmin tool remotely in a Java 2 Platform, Standard Edition environment
The thin administrative client adds Java™ archive (JAR) files that support administrative client functions that you can use with IBM® Developer Kits For the Java Platform.
About this task
Attention: Be aware of the following limitations:
- You cannot run a thin administrative client with the -conntype NONE option.
- The Administration Thin Client is supported for the IBM SDKs. The Administration Thin Client is supported for the corresponding Java Development Kit (JDK) with the same major version, provided that the client administration application uses only the SOAP connector.
- The client administration application must use the com.ibm.websphere.management.AdminClientFactory API to get the JMX client.
- Thin administrative clients do not support the installation of SAR files or the editing of applications that use an external JACC provider such as Tivoli® Access Manager.
- Thin administrative clients do not support the installation of SAR files or the editing of applications that use an external JACC provider such as Tivoli Access Manager.
For tracing and logging information for the thin administrative client, see the Enabling trace on client and stand-alone applications topic .
Procedure
- Obtain the thin administrative client JAR file and other
required files that are required when security is on from the WebSphere® Application Server Network Deployment installation.
Refer to the topic Using the administration thin client for details about the files that you need to perform this task.
-
Copy optionalLibraries from the server machine and store under
C:\MyThinClient
as illustrated in the following example. - Copy the Java directory from the server installation to your thin client environment.
- Start the wsadmin tool in a non-OSGi environment. Examples of the wsadmin.bat file and the wsadmin.sh file are as follows:
Example: wsadmin.bat
@REM wsadmin launcher @echo off @REM Usage: wsadmin arguments setlocal @REM was home should point to whatever directory you decide for your thin client environment set WAS_HOME=c:\MyThinClient set USER_INSTALL_ROOT=%WAS_HOME% @REM Java home should point to where you installed java for your thinclient set JAVA_HOME="%WAS_HOME%\java" set WAS_LOGGING=-Djava.util.logging.manager=com.ibm.ws.bootstrap.WsLogManager -Djava.util.logging.configureByServer=true set THIN_CLIENT=-Dcom.ibm.websphere.thinclient=true if exist "%JAVA_HOME%\bin\java.exe" ( set JAVA_EXE="%JAVA_HOME%\bin\java" ) else ( set JAVA_EXE="%JAVA_HOME%\jre\bin\java" ) @REM CONSOLE_ENCODING controls the output encoding used for stdout/stderr @REM console - encoding is correct for a console window @REM file - encoding is the default file encoding for the system @REM other - the specified encoding is used. e.g. Cp1252, Cp850, SJIS @REM SET CONSOLE_ENCODING=-Dws.output.encoding=console @REM For debugging the utility itself @REM set WAS_DEBUG=-Djava.compiler=NONE -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=7777 set CLIENTSOAP=-Dcom.ibm.SOAP.ConfigURL=file:"%USER_INSTALL_ROOT%"\properties\soap.client.props set CLIENTSAS=-Dcom.ibm.CORBA.ConfigURL=file:"%USER_INSTALL_ROOT%"\properties\sas.client.props set CLIENTSSL=-Dcom.ibm.SSL.ConfigURL=file:"%USER_INSTALL_ROOT%"\properties\ssl.client.props set CLIENTIPC=-Dcom.ibm.IPC.ConfigURL=file:"%USER_INSTALL_ROOT%"\properties\ipc.client.props set JAASSOAP=-Djava.security.auth.login.config=%USER_INSTALL_ROOT%\properties\wsjaas_client.conf @REM the following are wsadmin property @REM you need to change the value to enabled to turn on trace set wsadminTraceString=-Dcom.ibm.ws.scripting.traceString=com.ibm.*=all=disabled set wsadminTraceFile=-Dcom.ibm.ws.scripting.traceFile="%USER_INSTALL_ROOT%"\logs\wsadmin.traceout set wsadminValOut=-Dcom.ibm.ws.scripting.validationOutput="%USER_INSTALL_ROOT%"\logs\wsadmin.valout @REM this will be the server host that you will connecting to set wsadminHost=-Dcom.ibm.ws.scripting.host=myhost.austin.ibm.com @REM you need to make sure the port number is the server SOAP port number you want to connect to, in this example the server SOAP port is 8887 set wsadminConnType=-Dcom.ibm.ws.scripting.connectionType=SOAP set wsadminPort=-Dcom.ibm.ws.scripting.port=8887 @REM you need to make sure the port number is the server RMI port number you want to connect to, in this example the server RMI Port is 2815 @REM set wsadminConnType=-Dcom.ibm.ws.scripting.connectionType=RMI @REM set wsadminPort=-Dcom.ibm.ws.scripting.port=2815 @REM you need to make sure the port number is the server JSR160RMI port number you want to connect to, in this example the server JSR160RMI Port is 2815 @REM set wsadminConnType=-Dcom.ibm.ws.scripting.connectionType=JSR160RMI @REM set wsadminPort=-Dcom.ibm.ws.scripting.port=2815 @REM you need to make sure the port number is the server IPC port number you want to connect to, in this example the server IPC Port is 9632 and the host for IPC should be localhost @REM set wsadminHost=-Dcom.ibm.ws.scripting.ipchost=localhost @REM set wsadminConnType=-Dcom.ibm.ws.scripting.connectionType=IPC @REM set wsadminPort=-Dcom.ibm.ws.scripting.port=9632 @REM specify what language you want to use with wsadmin set wsadminLang=-Dcom.ibm.ws.scripting.defaultLang=jacl @REM set wsadminLang=-Dcom.ibm.ws.scripting.defaultLang=jython set SHELL=com.ibm.ws.scripting.WasxShell :prop set WSADMIN_PROPERTIES_PROP= if not defined WSADMIN_PROPERTIES goto workspace set WSADMIN_PROPERTIES_PROP="-Dcom.ibm.ws.scripting.wsadminprops=%WSADMIN_PROPERTIES%" :workspace set WORKSPACE_PROPERTIES= if not defined CONFIG_CONSISTENCY_CHECK goto loop set WORKSPACE_PROPERTIES="-Dconfig_consistency_check=%CONFIG_CONSISTENCY_CHECK%" :loop if '%1'=='-javaoption' goto javaoption if '%1'=='' goto runcmd goto nonjavaoption :javaoption shift set javaoption=%javaoption% %1 goto again :nonjavaoption set nonjavaoption=%nonjavaoption% %1 :again shift goto loop :runcmd set C_PATH="%WAS_HOME%\properties;%WAS_HOME%\com.ibm.ws.admin.client_8.5.5.jar;%WAS_HOME%\com.ibm.ws.security.crypto.jar" @REM To use jython language in Administrative Thin Client env @REM set C_PATH="%WAS_HOME%\properties;%WAS_HOME\optionalLibraries\jython\jython.jar;%WAS_HOME%\com.ibm.ws.admin.client_8.5.5.jar;%WAS_HOME%\com.ibm.ws.security.crypto.jar" @REM If user want to use script libraries function in Administrative Thin Client env @REM set C_PATH="%WAS_HOME%\properties;%WAS_HOME\optionalLibraries\jython\jython.jar;%WAS_HOME\optionalLibraries\jython\Lib;%WAS_HOME%\com.ibm.ws.admin.client_8.5.5.jar;%WAS_HOME%\com.ibm.ws.security.crypto.jar" set C_PATH="%WAS_HOME%\properties;%WAS_HOME%\com.ibm.ws.admin.client_8.0.0.jar;%WAS_HOME%\com.ibm.ws.security.crypto.jar" set PERFJAVAOPTION=-Xms256m -Xmx256m -Xj9 -Xquickstart if "%JAASSOAP%"=="" set JAASSOAP=-Djaassoap=off "%JAVA_EXE%" %PERFJAVAOPTION% %WAS_LOGGING% %javaoption% %CONSOLE_ENCODING% %WAS_DEBUG% "%THIN_CLIENT%" "%JAASSOAP%" "%CLIENTSOAP%" "%CLIENTSAS%" "%CLIENTIPC%" "%CLIENTSSL%" %WSADMIN_PROPERTIES_PROP% %WORKSPACE_PROPERTIES% "-Duser.install.root=%USER_INSTALL_ROOT%" "-Dwas.install.root=%WAS_HOME%" %wsadminTraceFile% %wsadminTraceString% %wsadminValOut% %wsadminHost% %wsadminConnType% %wsadminPort% %wsadminLang% -classpath %C_PATH% com.ibm.ws.scripting.WasxShell %* set RC=%ERRORLEVEL% goto END :END @endlocal set MYERRORLEVEL=%ERRORLEVEL% if defined PROFILE_CONFIG_ACTION exit %MYERRORLEVEL% else exit /b %MYERRORLEVEL%
Example: wsadmin.sh
#!/bin/bash # example wsadmin launcher # WAS_HOME should point to the directory for the thin client WAS_HOME="/MyThinClient" USER_INSTALL_ROOT="/MyThinClient" # JAVA_HOME should point to where java is installed for the thin client JAVA_HOME="$WAS_HOME/java" WAS_LOGGING="-Djava.util.logging.manager=com.ibm.ws.bootstrap.WsLogManager -Djava.util.logging.configureByServer=true" if [[ -f ${JAVA_HOME}/bin/java ]]; then JAVA_EXE="${JAVA_HOME}/bin/java" else JAVA_EXE="${JAVA_HOME}/jre/bin/java" fi # For debugging the utility itself # WAS_DEBUG=-Djava.compiler="NONE -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=7777" CLIENTSOAP="-Dcom.ibm.SOAP.ConfigURL=file:${USER_INSTALL_ROOT}/properties/soap.client.props" CLIENTSAS="-Dcom.ibm.CORBA.ConfigURL=file:${USER_INSTALL_ROOT}/properties/sas.client.props" CLIENTSSL="-Dcom.ibm.SSL.ConfigURL=file:${USER_INSTALL_ROOT}/properties/ssl.client.props" CLIENTIPC="-Dcom.ibm.IPC.ConfigURL=file:${USER_INSTALL_ROOT}/properties/ipc.client.props" # the following are wsadmin property # you need to change the value to enabled to turn on trace wsadminTraceString=-Dcom.ibm.ws.scripting.traceString=com.ibm.*=all=enabled wsadminTraceFile=-Dcom.ibm.ws.scripting.traceFile=${USER_INSTALL_ROOT}/logs/wsadmin.traceout wsadminValOut=-Dcom.ibm.ws.scripting.validationOutput=${USER_INSTALL_ROOT}/logs/wsadmin.valout # this will be the server host that you will be connecting to wsadminHost=-Dcom.ibm.ws.scripting.host=myhost.austin.ibm.com # you need to make sure the port number is the server SOAP port number you want to connect to, in this example the server SOAP port is 8875 wsadminConnType=-Dcom.ibm.ws.scripting.connectionType=SOAP wsadminPort=-Dcom.ibm.ws.scripting.port=8875 # you need to make sure the port number is the server RMI port number you want to connect to, in this example the server RMI port is 2811 #wsadminConnType=-Dcom.ibm.ws.scripting.connectionType=RMI #wsadminPort=-Dcom.ibm.ws.scripting.port=2811 # you need to make sure the port number is the server JSR160RMI port number you want to connect to, in this example the server JSR160RMI port is 2811 #wsadminConnType=-Dcom.ibm.ws.scripting.connectionType=JSR160RMI #wsadminPort=-Dcom.ibm.ws.scripting.port=2811 # you need to make sure the port number is the server IPC port number you want to connect to, in this example the server IPC port is 9630 #wsadminHost=-Dcom.ibm.ws.scripting.ipchost=localhost #wsadminConnType=-Dcom.ibm.ws.scripting.connectionType=IPC #wsadminPort=-Dcom.ibm.ws.scripting.port=9630 # specify what language you want to use with wsadmin wsadminLang=-Dcom.ibm.ws.scripting.defaultLang=jacl #wsadminLang=-Dcom.ibm.ws.scripting.defaultLang=jython SHELL=com.ibm.ws.scripting.WasxShell # If wsadmin properties is set, use it if [[ -n "${WSADMIN_PROPERTIES+V}" ]]; then WSADMIN_PROPERTIES_PROP="-Dcom.ibm.ws.scripting.wsadminprops=${WSADMIN_PROPERTIES}" else # Not set, do not use it WSADMIN_PROPERTIES_PROP= fi # If config consistency check is set, use it if [[ -n "${CONFIG_CONSISTENCY_CHECK+V}" ]]; then WORKSPACE_PROPERTIES="-Dconfig_consistency_check=${CONFIG_CONSISTENCY_CHECK}" else WORKSPACE_PROPERTIES= fi # Parse the input arguments isJavaOption=false nonJavaOptionCount=1 for option in "$@" ; do if [ "$option" = "-javaoption" ] ; then isJavaOption=true else if [ "$isJavaOption" = "true" ] ; then javaOption="$javaOption $option" isJavaOption=false else nonJavaOption[$nonJavaOptionCount]="$option" nonJavaOptionCount=$((nonJavaOptionCount+1)) fi fi done DELIM=" " C_PATH="${WAS_HOME}/properties:${WAS_HOME}/com.ibm.ws.admin.client_8.5.5.jar:${WAS_HOME}/com.ibm.ws.security.crypto.jar" # To use jython language in Administrative Thin Client env # C_PATH="${WAS_HOME}/properties:${WAS_HOME}/optionalLibraries/jython/jython.jar:${WAS_HOME}/com.ibm.ws.admin.client_8.5.5.jar:${WAS_HOME}/com.ibm.ws.security.crypto.jar" # If user want to use script libraries function in Administrative Thin Client env # C_PATH="${WAS_HOME}/properties:${WAS_HOME}/optionalLibraries/jython/jython.jar:${WAS_HOME}/optionalLibraries/jython/Lib:${WAS_HOME}/com.ibm.ws.admin.client_8.5.5.jar:${WAS_HOME}/com.ibm.ws.security.crypto.jar" #Platform specific args... PLATFORM=`/bin/uname` case $PLATFORM in AIX | Linux | SunOS | HP-UX) CONSOLE_ENCODING=-Dws.output.encoding=console ;; OS/390) CONSOLE_ENCODING=-Dfile.encoding=ISO8859-1 EXTRA_X_ARGS="-Xnoargsconversion" ;; esac # Set java options for performance PLATFORM=`/bin/uname` case $PLATFORM in AIX) PERF_JVM_OPTIONS="-Xms256m -Xmx256m -Xquickstart" ;; Linux) PERF_JVM_OPTIONS="-Xms256m -Xmx256m -Xj9 -Xquickstart" ;; SunOS) PERF_JVM_OPTIONS="-Xms256m -Xmx256m -XX:PermSize=40m" ;; HP-UX) PERF_JVM_OPTIONS="-Xms256m -Xmx256m -XX:PermSize=40m" ;; OS/390) PERF_JVM_OPTIONS="-Xms256m -Xmx256m" ;; esac if [[ -z "${JAASSOAP}" ]]; then JAASSOAP="-Djaassoap=off" fi "${JAVA_EXE}" \ ${PERFJAVAOPTION} \ ${EXTRA_X_ARGS} \ -Dws.ext.dirs="$WAS_EXT_DIRS" \ ${EXTRA_D_ARGS} \ ${WAS_LOGGING} \ ${javaoption} \ ${CONSOLE_ENCODING} \ ${WAS_DEBUG} \ "${CLIENTSOAP}" \ "${JAASSOAP}" \ "${CLIENTSAS}" \ "${CLIENTSSL}" \ "${CLIENTIPC}" \ ${WSADMIN_PROPERTIES_PROP} \ ${WORKSPACE_PROPERTIES} \ "-Duser.install.root=${USER_INSTALL_ROOT}" \ "-Dwas.install.root=${WAS_HOME}" \ "-Dcom.ibm.websphere.thinclient=true" \ ${wsadminTraceFile} \ ${wsadminTraceString} \ ${wsadminValOut} \ ${wsadminHost} \ ${wsadminConnType} \ ${wsadminPort} \ ${wsadminLang} \ -classpath \ "${C_PATH}" \ com.ibm.ws.scripting.WasxShell \ "${nonJavaOption[@]}" exit $?