2016-05-06 46 views
0

以下jython腳本嘗試修改Websphere 7中企業應用程序級別的cookie設置。但是,運行時出現以下異常:Jython接收爲「ApplicationDeployment」類型指定的無效屬性 - 「sessionManagement」腳本異常

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() 

奇怪的是,當我使用創建命令我沒有得到任何錯誤,並且也會隨之改變。

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

您能否幫助確定使用「修改」命令時出現錯誤的原因?

謝謝你的時間。

回答

0

它看起來像修改命令需要另一個屬性名稱,得到它的工作,所以需要的腳本這樣的更新:

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都沒有多個記錄。但那是另一天的另一個問題:)。

相關問題