Jython 收到为类型 "ApplicationDeployment" 指定的无效属性 -- "sessionManagement" 脚本异常

Jython receiving Invalid attributes specified for type "ApplicationDeployment" -- "sessionManagement" scripting exception

下面的 jython 脚本试图在 Websphere 7 中修改企业应用程序级别的 cookies 设置。但是,当 运行 它时,我得到以下异常:

exception information: com.ibm.ws.scripting.ScriptingException: WASX7080E: Invalid attributes specified for type "ApplicationDeployment" -- "sessionManagement"

代码如下:

deployedApplicationId = AdminConfig.getid('/Deployment:myWebApp/')
deployedObject = AdminConfig.showAttribute(deployedApplicationId, 'deployedObject')

overrideSessionManagAttr = ['enable', 'true']
defaultCookieAttrs = ['defaultCookieSettings', [['name', 'JSESSIONID_MY_COOKIE'], ['secure', 'true']]]
attributeList = [overrideSessionManagAttr, defaultCookieAttrs]
sessionAttributes = [['sessionManagement', attributeList]]

AdminConfig.modify(deployedObject, sessionAttributes)
AdminConfig.save()

奇怪的是,当我使用 create 命令时,我没有收到任何错误,设置也相应地改变了。

AdminConfig.create('ApplicationConfig', deployedObject, sessionAttributes)

能否请您帮助确定使用"modify"命令时出现错误的原因?

感谢您的宝贵时间。

看起来修改命令需要另一个 属性 名称才能正常工作,因此需要像这样更新脚本:

deployedApplicationId = AdminConfig.getid('/Deployment:myWebApp/')
smList = AdminConfig.list('SessionManager', deployedApplicationId).splitlines()
for sm in smList:
    AdminConfig.modify(sm, '[ [enable true] ]')
    dcs = AdminConfig.showAttribute(sm, 'defaultCookieSettings')
    AdminConfig.modify(dcs, '[ [name COOKIE_NAME] [secure true] ]')

AdminConfig.save()

我仍然不清楚我需要遍历 smList 的事实。为什么我的 Websphere 设置中有多个这样的记录?只有开发环境有多条记录,UAT和PROD都没有多条记录。但这是另一天的另一个问题:) .