0

我正在从wsadmin. 这是它抛出错误的部分。

脚本

..
..
objNameString = AdminControl.completeObjectName('WebSphere:type=Server,*') 
NODE_NAME=AdminControl.getAttribute(objNameString, 'nodeName') 
CELL_NAME=AdminControl.getCell()
SERVER_NAME= "MyAppServer"
..
..
# Start Web application
print "Starting Web Application..."
appManager = AdminControl.queryNames('cell='+ CELL_NAME +',node='+ NODE_NAME +',type=ApplicationManager,process='+ SERVER_NAME +',*')
print appManager
AdminControl.invoke(appManager, 'startApplication', 'AppName')
print "Web Application Started..."

错误

Starting Web Application...
WASX7017E: Exception received while running file "/scratch/py/CreateWPSDomain.py"; exception information: com.ibm.ws.scripting.ScriptingException: WASX7025E: Error found in String ""; cannot create ObjectName.

我连接的方式有什么问题吗?因为当值为空或未正确注册时,似乎会出现这样的错误。

更新:是否有任何我可以参考的示例 jython 脚本。我的要求:1. 创建服务器 > 2. 安装 war 文件 > 3. 创建数据源 > 4. 启动服务器 > 5. 启动应用程序。

4

5 回答 5

4

请确保您的服务器已启动,我认为当您调用命令时...服务器尚未启动。延迟或检查服务器是否已启动...然后发出命令

于 2014-01-09T06:30:58.843 回答
2

错误消息说不能从空字符串创建 ObjectName。那个空字符串是从返回的queryNames

尝试这个:

appManager = AdminControl.queryNames('WebSphere:cell='+ CELL_NAME +',node='+ NODE_NAME +',type=ApplicationManager,process='+ SERVER_NAME +',*')

顺便说一句:使用 WDR 库(http://wdr.github.io/WDR/),您的脚本会简单得多。通过其他一些改进,它可能如下所示:

SERVER_NAME= "MyAppServer"

# Start Web application
print "Starting Web Application..."
appManager = getMBean1(process = SERVER_NAME, type = 'ApplicationManager')
print appManager
appManager.startApplication('AppName')
print "Web Application Started..."

披露:我是 WDR 的主要贡献者之一。

于 2014-01-04T09:06:57.967 回答
0

在这一行抛出错误:

AdminControl.invoke(appManager, 'startApplication', 'AppName')

检查您的appManager变量,并确保它不为空。 AdminControl.queryNames(..)如果未找到匹配项,将返回一个空字符串。

AdminControl.invoke(..)需要将 MBean 描述符(对象名称)字符串作为第一个参数传递,并且您收到的错误是wsadmin告诉您无法使用收到的内容解析 MBean。WASX7025E: Error found in String ""错误部分告诉您它收到了一个空字符串 (对于"")MBean 描述符。

于 2014-01-03T19:48:25.850 回答
0

就我而言,服务器已启动,但我仍然收到此错误。
问题是我没有连接到任何服务器,因为我在通过 wsadmin 运行脚本时包含了 -conntype NONE。
修复是避免 -conntype NONE 能够运行 AdminControl 命令
/opt/WebSphere/AppServer/profiles/default/bin/wsadmin.sh -conntype NONE -user -password -f

于 2020-01-08T05:11:46.390 回答
0

/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin>./wsadmin.sh -conntype NONE

WASX7357I: 根据请求,此脚本客户机未连接到任何服务器进程。某些配置和应用程序操作将在本地模式下可用。

WASX7029I: 如需帮助,请输入:“$Help help” wsadmin>wsadmin>wsadmin>securityon wsadmin IWWWWW WASX7015E: 异常运行命令:“securityon wsadmin IWWWWW”;异常信息:com.ibm.ws.scripting.ScriptingException:AdminControl 服务不可用

wsadmin>securityoff LOCAL OS 安全性现在已关闭,但您需要重新启动 server1 以使其受到影响。

管理员>

于 2018-03-13T11:36:50.430 回答